我有模特

public class UserModel : IUserModel
        {
            public LocationModel WorkLocation { get; set; }
            public LocationModel HomeLocation { get; set; }
            public LocationModel ShippingLocation { get; set; }
    }

我创建了局部视图,显示LocationModel类中的显示字段。

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<LocationModel>" %>
<fieldset>
    <div class="common-fieldset">
        <div>
            <span class="editor-label">
                <%: Html.LabelFor(model => model.Location.Bldg)%>
            </span><span class="editor-field">
                <%: Html.EditorFor(model => model.Location.Bldg)%>
            </span><span class="editor-label">
                <%: Html.LabelFor(model => model.Location.Lobby)%>
            </span><span class="editor-field">
                <%: Html.EditorFor(model => model.Location.Lobby)%>
            </span><span class="editor-label">
                <%: Html.LabelFor(model => model.Location.Suite)%>
            </span><span class="editor-field">
                <%: Html.EditorFor(model => model.Location.Suite)%>
            </span>
        </div>
    </div>
</fieldset>

当控制器渲染我的UserModel晚上看起来不错。 但是,我的LocationModel类中HTML中的所有字段ID都具有相同的名称,并且回发时LocationModel属性不包含init值。 它呈现此属性中的每个属性而没有局部视图,一切正常。 为什么呢 谢谢。

 <div>
        Home Address:
          <%: Html.Partial("Controls/Location", Model.HomeLocation) %>
        </div>

         <div>
         Work Address:
          <%: Html.Partial("Controls/Location", Model.WorkLocation) %>
        </div>

        <div> Shipping Address:
          <%: Html.Partial("Controls/Location",Model.ShippingLocation) %>
        </div>

===============>>#1 票数:1 已采纳

我创建了局部视图,显示LocationModel类中的显示字段。

我建议您使用编辑器模板,而不要使用部分模板。 因此,将这个LocationModel.ascx移动到~/Views/Shared/EditorTemplates/LocationModel.ascx ,然后简单地:

<div>
    Home Address:
    <%= Html.EditorFor(x => x.HomeLocation) %>
</div>

<div>
    Work Address:
    <%= Html.EditorFor(x => x.WorkLocation) %>
</div>

<div>
    Shipping Address:
    <%= Html.EditorFor(x => x.ShippingLocation) %>
</div>

现在,您所有的输入将具有正确的ID和名称。

  ask by Arbejdsglæde translate from so

未解决问题?本站智能推荐:

1回复

asp.net MVC3局部视图结果没有更新EditorFor值

我有一个简单的电子邮件捕获表单作为我的主页的一部分,但是当我返回部分视图时,表单的编辑器的模型值没有得到更新: 该模型 观点 偏袒 控制器 这会按预期返回模型错误,在模型状态有效时返回消息,但响应中的电子邮件文本框值不会更新 发送电子邮件a@b.com
2回复

mvc3局部视图错误

我想制作一个表格来输入客户数据。 它由几个文本框和一个组合框组成。 整个问题在于这个组合框。 当我尝试渲染此部分视图时,会收到错误:“对象引用未设置为对象的实例。” 这是partialview控制器代码 GetStates partialview 主要观点的一部分
4回复

在不使用AJAX的情况下重新加载ASP.NET MVC3局部视图

我有一个带有Razor的MVC3应用程序,并且创建了一个内部渲染部分视图的视图。 这是主视图的样子: 在_SearchFilters局部视图内,我在Form元素内有以下DropDownLists: 我希望在提交时 ,两个View对象重新加载过滤后的数据时,两个DropDownL
3回复

更新MVC3局部视图

我正在使用MVC C#和Jquery。 我有一个部分视图,每次用户修改视图中的某些数据时都需要更新。 问题是部分视图没有更新。 如何更新局部视图? 部分视图中的jquery代码(WorkReport) 控制器代码:
1回复

MVC3局部视图,用于编辑弹出窗口

我正在编写一个MVC3项目。 现在,我有一个表,其中的数据列为actionLinks: 顾名思义,EditPartial是一个局部视图,我需要将其作为弹出菜单打开,以便用户可以编辑对象的详细信息并将其保存,然后我们可以返回原始页面。 谢谢您的帮助!
3回复

显示MVC3局部视图的Jquery模态对话框 - 仅首次单击

在上面的代码中呈现的局部视图显示在对话框模态(Jquery)中...在Jquery模式对话框中显示局部视图的链接(onclick)适用于第一次单击。 关闭该对话框并再次单击该链接后,部分视图无法在弹出窗体中按预期打开。 它将作为浏览器中的新页面打开。 如何让弹出模态对话框链接每次都以相同
1回复

ASP.NET MVC:如何实现根据是否登录而更改的登录类型局部视图?

我想知道创建登录类型控件的最佳方法是什么,即当未登录时,提供登录名等的链接,而登录时提供用户名和设置等。 我当时以为解决此问题的正确方法是局部视图? 但这是否意味着我需要在局部视图中插入IF才能呈现(取决于是否已登录)? 我不知道这是最好的方法吗? 也许有点混乱? 我真
3回复

MVC 3 Model属性未在html.action调用的局部视图中设置

我的应用程序有问题,生病尝试通过示例解释,我有一个表单,这个表单存在几个文本框和下拉列表。 为了可重用性,我将3个下拉列表合并到一个局部视图中,这个部分视图我加载了@ Html.Action,这个工作正常,当我启动表单时,我看到一切都显示应该是,虽然我不知道为什么但是那些需要直接下拉列表以红色
1回复

在MVC中的单个页面上具有相同的局部视图

我已经使用aspx视图引擎编写了以下部分视图 现在在我的单个页面上,我已经使用了两次局部视图。 主页包含 可能是Name相同,这就是为什么它不能正常工作的原因。 如何解决这个问题? 其实问题出在javascript。 这就是Firebug向我展示的HTML。
3回复

ASP MVC3 - 将集合项传递到局部视图

我有一个我用一个单独模型的集合( List )创建的视图模型。 在我们的数据库中,我们有两个表: BankListMaster和BankListAgentId 。 “主”表的主键用作代理ID表的外键。 由于主/代理ID表具有一对多关系,因此我创建的视图模型包含BankListAgent