我尝试了以下但不起作用:
<%Html.RenderPartial("userControl",new {personID=Model.ID, name="SomeName"});%>
在usercontrol中,我有一个ajax表单的隐藏字段,我将其分配给personID。它不会编译,隐藏的ID无法识别。
答案 0 :(得分:1)
如果你想从匿名类型中获取正确的属性,你必须使用反射或者像RouteValueDictionary这样的辅助类。
RouteValueDictionary可能是最简单的。创建它的一个实例,传递Model,然后使用它的索引运算符来查询值。
例如:
<%
var modelDictionary = new RouteValueDictionary(Model);
%>
<input type="hidden" name="personID" value="<%= modelDictionary["personID"] %>" />
答案 1 :(得分:1)
我不确定你为什么要这样做,但这里是如何(强烈的类型模型更好):
<%
ViewData["PersonID"] = Model.ID;
ViewData["Name"] = "SomeName";
Response.Write(
Html.RenderPartial("userControl"));
%>
OR
如果你这样做:
<%=Html.RenderPartial("userControl")%>
如果您的“userControl”也是强类型的,它应该能够读取“Model.ID”