0
我有一個用於向模塊添加模塊的ASP.NET MVC窗體。該視圖具有強類型的ViewModel,其屬性爲「Name」和「Content」。在這個表單中,我有一個子表單用於爲模塊添加一個部分。該子表格具有標記爲「名稱」和「內容」的字段,因爲它們適用於該部分對象。然而,對我而言,不幸的是,內置的HTML幫助函數似乎將這些字段自動綁定到視圖模型上的匹配屬性值,即使它們旨在應用於完全不同的對象。ASP.NET中HtmlHelpers的意外副作用
實例類:
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" />
<%}%>
我期望的名稱和內容的輸入開始時的空白,但是HTML傭工似乎預綁定到頁面的瀏覽模式不我的方向。我怎樣才能阻止這個...
哈哈所以弗利簡單。我是一個笨蛋。 :( – Chris 2009-11-03 19:53:34