webForumDet fria alternativet

Källkoden för sidan blir konstig?

.NET

8 svar · 803 visningar · startad av xcalibrate

Medlem sedan aug. 2002136 inlägg
Frågan#1

Hej!

När jag tittar på min källkod för en ny webbplats jag utvecklar i ASP.NET kan jag se massor av saker..

    <div id="root">
        <form name="aspnetForm" method="post" action="Login.aspx" onsubmit="javascript:return WebForm_OnSubmit();" id="aspnetForm">
<div>
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTIwNTc0NzU1NjdkGAEFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYCBT1jdGwwMCRDb250ZW50UGxhY2VIb2xkZXJEZWZhdWx0JExvZ2luQWRtaW5pc3RyYXRvciRSZW1lbWJlck1lBUNjdGwwMCRDb250ZW50UGxhY2VIb2xkZXJEZWZhdWx0JExvZ2luQWRtaW5pc3RyYXRvciRMb2dpbkltYWdlQnV0dG9u0xcRcixyUaLGywJmc4AXiangJeU=" />
</div>

<script type="text/javascript">
<!--
var theForm = document.forms['aspnetForm'];
if (!theForm) {
    theForm = document.aspnetForm;
}
function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
        theForm.__EVENTTARGET.value = eventTarget;
        theForm.__EVENTARGUMENT.value = eventArgument;
        theForm.submit();
    }
}
// -->
</script>

<script src="/Kyrst/WebResource.axd?d=GiuS-78KvHvw9Wb_f74gFw2&amp;t=633199845261140000" type="text/javascript"></script>

...

		<td><table cellpadding="0" border="0">
			<tr>
				<td align="center" colspan="2">Logga in</td>
			</tr><tr>
				<td align="right"><label for="ctl00_ContentPlaceHolderDefault_LoginAdministrator_UserName">Användarnamn:</label></td><td><input name="ctl00$ContentPlaceHolderDefault$LoginAdministrator$UserName" type="text" id="ctl00_ContentPlaceHolderDefault_LoginAdministrator_UserName" /><span id="ctl00_ContentPlaceHolderDefault_LoginAdministrator_UserNameRequired" title="Användarnamn krävs." style="color:Red;visibility:hidden;">*</span></td>
			</tr><tr>
				<td align="right"><label for="ctl00_ContentPlaceHolderDefault_LoginAdministrator_Password">Lösenord:</label></td><td><input name="ctl00$ContentPlaceHolderDefault$LoginAdministrator$Password" type="password" id="ctl00_ContentPlaceHolderDefault_LoginAdministrator_Password" /><span id="ctl00_ContentPlaceHolderDefault_LoginAdministrator_PasswordRequired" title="Lösenord krävs." style="color:Red;visibility:hidden;">*</span></td>
			</tr><tr>
				<td colspan="2"><input id="ctl00_ContentPlaceHolderDefault_LoginAdministrator_RememberMe" type="checkbox" name="ctl00$ContentPlaceHolderDefault$LoginAdministrator$RememberMe" /><label for="ctl00_ContentPlaceHolderDefault_LoginAdministrator_RememberMe">Spara mina inloggningsuppgifter.</label></td>
			</tr><tr>
				<td align="right" colspan="2"><input type="submit" name="ctl00$ContentPlaceHolderDefault$LoginAdministrator$LoginButton" value="Logga in" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions(&quot;ctl00$ContentPlaceHolderDefault$LoginAdministrator$LoginButton&quot;, &quot;&quot;, true, &quot;ctl00$ContentPlaceHolderDefault$LoginAdministrator&quot;, &quot;&quot;, false, false))" id="ctl00_ContentPlaceHolderDefault_LoginAdministrator_LoginButton" /></td>
			</tr>
		</table></td>
	</tr>
</table>

Visserligen har jag lagt till en Login-kontroll men blir det ändå sådär i källkoden i slutresultat när jag deployar?

Medlem sedan dec. 19996 522 inlägg
#2

Vad tycker du är konstigt?

Medlem sedan aug. 2002136 inlägg
#3

Ser verkligen inte snyggt ut - även om det iofs inte spelar någon roll. Men har varit inne på andra siter som är utvecklade i ASP.NET och dom har inte t.ex.

<div>
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTIwNTc0NzU1NjdkGAEFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY  2tLZXlfXxYCBT1jdGwwMCRDb250ZW50UGxhY2VIb2xkZXJEZWZhdWx0JExvZ  2luQWRtaW5pc3RyYXRvciRSZW1lbWJlck1lBUNjdGwwMCRDb250ZW50UGxhY  2VIb2xkZXJEZWZhdWx0JExvZ2luQWRtaW5pc3RyYXRvciRMb2dpbkltYWdlQ  nV0dG9u0xcRcixyUaLGywJmc4AXiangJeU=" />
</div>

:s

Medlem sedan dec. 19996 522 inlägg
#4

ViewState är ju något relativt centralt i en aspx-sida, men man kan givetvis stänga av den om du inte har användning för den och vill spara prestanda, varje kontroll får ett id renderat av dess plats i herarkin. EVENTTARGET och EVENTARGUMENT håller vilken kontroll som postbackade sidan och eventuella extra argument finner du i ja exakt eventargument :) PostBack är ju en sak som tillsammans med viewstate är en del av det fina med asp.net (nackdelar också givetvis)

Medlem sedan aug. 2002136 inlägg
#5

Då kommer en intressant fråga, hur kommer det sig att stora sidor, som t.ex. MySpace, inte har detta i sin källkod?

Mitt input field ser ut såhär:
<input name="ctl00$ContentPlaceHolderMaster$TextBoxLastName" type="text" id="ctl00_ContentPlaceHolderMaster_TextBoxLastName" />

När det, vanligtvis, ser utsåhär:
<input name="TextBoxLastName" type="text" id="TextBoxLastName" />

Är det något man får leva med som ASP.NET-utvecklare eller?

Medlem sedan dec. 19996 721 inlägg
#6

xcalibrate skrev:

Då kommer en intressant fråga, hur kommer det sig att stora sidor, som t.ex. MySpace, inte har detta i sin källkod?

Det kan bero på att de inte använder serverbundna kontroller (runat=server), eller så...

xcalibrate skrev:

Mitt input field ser ut såhär:
<input name="ctl00$ContentPlaceHolderMaster$TextBoxLastName" type="text" id="ctl00_ContentPlaceHolderMaster_TextBoxLastName" />

När det, vanligtvis, ser utsåhär:
<input name="TextBoxLastName" type="text" id="TextBoxLastName" />

..beror det på att deras kontroller ligger i namingcontainer-roten. Anlednigen till att din "TextBoxLastName" heter "ctl00$ContentPlaceHolderMaster$TextBoxLastName" är att den ligger i på en masterpage "ctl00" i ContentPlaceHolder som heter "ContentPlaceHolderMaster". Hade den legat direkt i "roten" på en sida så hade den fått fortsätta att heta "TextBoxLastName"

xcalibrate skrev:

Är det något man får leva med som ASP.NET-utvecklare eller?

Japp, men jag har svårt att se vad problemet är....

Medlem sedan juni 20014 421 inlägg
#7

MySpace kör väl coldfusion och inte .net?

Medlem sedan juni 20019 024 inlägg
#8

colione skrev:

MySpace kör väl coldfusion och inte .net?

Ungefär 80 procent ASP.NET och 20 procent Cold Fusion.

Medlem sedan juni 20014 421 inlägg
#9

. (y) länge leve blandband...

523 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
365 ms — deklarationer (db)
0 ms — hämta statistik (cache)
156 ms — hämta tråd, inlägg och bilagor (db)
365 ms — ändringar (db)