我嘗試以下但不工作:asp.net mvc:如何將匿名類型傳遞給UserController?
<%Html.RenderPartial("userControl",new {personID=Model.ID, name="SomeName"});%>
在用戶控件我有一個隱藏字段在Ajax的形式,而我分配PERSONID。它不會編譯,隱藏的ID不被識別。
我嘗試以下但不工作:asp.net mvc:如何將匿名類型傳遞給UserController?
<%Html.RenderPartial("userControl",new {personID=Model.ID, name="SomeName"});%>
在用戶控件我有一個隱藏字段在Ajax的形式,而我分配PERSONID。它不會編譯,隱藏的ID不被識別。
如果您想從匿名類型中獲得正確的屬性,您必須使用反射或像RouteValueDictionary這樣的助手類。
RouteValueDictionary可能是最簡單的。創建它的一個實例,傳遞Model,然後使用它的索引操作符來查詢這些值。
如:
<%
var modelDictionary = new RouteValueDictionary(Model);
%>
<input type="hidden" name="personID" value="<%= modelDictionary["personID"] %>" />
我不知道你爲什麼會想這樣做,但在這裏是如何(強類型的模型是更好):
<%
ViewData["PersonID"] = Model.ID;
ViewData["Name"] = "SomeName";
Response.Write(
Html.RenderPartial("userControl"));
%>
OR
如果你這樣做:
<%=Html.RenderPartial("userControl")%>
,如果您的「userControl」也是強類型的,它應該能夠讀取「Model.ID」