我有一个ASP.NET MVC表单,用于向站点添加模块。该视图具有强类型ViewModel,其属性为“Name”和“Content”。在这个表单上,我有一个子表单,用于向模块添加一个部分。子表单包含标记为“名称”和“内容”的字段,因为它们适用于节对象。但是,遗憾的是,对于我来说,内置的HTML帮助函数似乎将这些字段自动绑定到视图模型上的匹配属性值,即使它们旨在应用于完全不同的对象。
示例类:
public class Module
{
public string Name {get;set;}
public string Content {get;set;}
// ...
}
public class Section
{
public string Name {get;set;}
public string Content {get;set;}
// ...
}
形式:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Module>" %>
<!-- rest of page here -->
<%using (var form = Html.BeginForm("AddSection", "Modules")){%>
<ul class="form">
<li>
<label for="Number">Section Number:</label>
<%=Html.TextBox("Number", null, new { size=5, maxlength=5 })%>
<%=Html.ValidationMessage("Number")%>
</li>
<li>
<label for="Name">Section Name:</label>
<%=Html.TextBox("Name")%>
<%=Html.ValidationMessage("Name")%>
</li>
<li>
<div style="width: 75%;">
<label for="Content">Section Content: (<a href="http://textile.thresholdstate.com" target="_blank">formatting help</a>)</label>
<%=Html.TextArea("Content", null, new { @class = "text-entry" })%>
<%=Html.ValidationMessage("Content")%>
</div>
</li>
<li>
<div style="width: 75%;">
<label>Content Preview: (<a href="#" onclick="togglePreviewPane(true); return false;">Show / Hide</a>)</label>
<div id="PreviewBox" class="black-border text-entry"> </div>
</div>
</li>
</ul>
<input type="hidden" id="ModuleID" name="ModuleID" value="<%=Model.ID%>" />
<input type="submit" id="SubmitButton" name="SubmitButton" value="Add Section" />
<%}%>
我希望Name和Content输入开始是空白的,但html帮助器似乎是预先绑定到页面的视图模型而没有我的指示。我怎么能阻止这个...
答案 0 :(得分:1)
尝试让<%=Html.TextBox("Name",string.Empty)%>
强制文本框为空白