2009-07-21 20 views
1

Ich habe einige Fragen über einige Dinge in Asp.net MVC, die mich immer noch verwirrt.Einige Fragen über Asp.net MVC

a. Ich bin immer noch verwirrt, wenn ich <%= %> verwenden sollte und wenn ich diese verwenden sollte <%%> (dieser scheint am Ende ein Semikolon zu brauchen).

b. Wie kann ich das in VS2008 beheben? Wenn ich eine Teilansicht mache und anfange zu tippen, sage ich <%= intellisense geht davon aus, dass ich das <%@ Assembly= %> meinte und das einfügte.

Es wird wirklich nervig, eine Teilansichtsdatei einzugeben.

c. Ich bekomme den Unterschied zwischen ActionResult, ViewResult und PartialViewResult nicht. ActionResult scheint in der Lage zu sein, alle diese Arten von Ergebnissen zurückzugeben. Warum also die anderen benutzen?

d. Ich erinnerte mich an eine andere: Ich weiß, wenn Webforms viele Leute gerne die Seite mit IIS anschließen, da die Serversteuerelemente und Sachen können mit der eingebauten Visual Studio-Sache (Cassi?) Unterschiedlich gerendert werden.

Auf diese Weise, wenn Sie Ihre Website auf eine Server-Hosting-Website hochladen, haben Sie nicht viele Probleme. Ist das auch bei Asp.net MVC zu empfehlen?

Dank

+0

Verwandte: http://stackoverflow.com/questions/115159/when-should-i-use-and-in-asp-net-controls – Cherian

Antwort

1

<% %> deklariert einen Codeblock. Was Sie in einem Codeblock tun können, ähnelt einem Hauptteil einer Funktion. Sie können mehrere Anweisungen haben und in C# sollte jeder von ihnen durch ein Semikolon abgeschlossen werden. <%= expression %> entspricht <% Response.Write(expression); %>, daher ist es ungültig, dort ein Semikolon zu setzen.

Ich glaube nicht, dass es eine einfache Problemumgehung für das IntelliSense-Problem gibt.

Ja, in der Tat ist ActionResult die Basisklasse für andere Arten von Ergebnissen ASP.NET MVC. Wenn der Rückgabetyp Ihrer Aktionsmethode ActionResult lautet, können Sie jede Art von Ergebnis zurückgeben. ASP.NET MVC verwendet das zurückgegebene Objekt, um zu sehen, wie es die Antwort generieren soll.