[英]How to get Formcollection values in the get method of an action in a controller in mvc3?
[英]How to get a value from view to Controller via Formcollection MVC
我正在MVC2 ASP项目上工作。 我遇到的问题是,我的小推车无法抓住从视图中获得的价值。 我使用Formcollection从视图中的文本框中捕获值,但是当我运行它时,Collection始终显示Null
这是我的控制器
[HttpPost]
public ActionResult Insert(FormCollection collection)
{
ProductionOrderItem item = new ProductionOrderItem();
item.ProductionOrderNo =collection["DetailsView1$txtName"];
item.ProductionOrderNo = collection["DetailsView1$TexMainOrder"];
item.OrderDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month,DateTime.Now.Day);
}
这是我的ASPX页面
<asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False"
ClientIDMode="Static" DefaultMode="Insert" Height="50px" Width="125px"
EnableViewState="False">
<Fields>
<asp:TemplateField HeaderText="ProductionOrderNo">
<InsertItemTemplate>
<asp:TextBox ID="txtName" runat="server" ></asp:TextBox>
</InsertItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="MainOrder">
<InsertItemTemplate>
<asp:TextBox ID="TexMainOrder" runat="server" ></asp:TextBox>
</InsertItemTemplate>
</asp:TemplateField>
我认为在您的视图中使用aspx文本框控件不是一个好主意,我宁愿使用regulat html文本框
<InsertItemTemplate>
<input type="txtName" id="txtName" name="fname">
</InsertItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="MainOrder">
<InsertItemTemplate>
<input type="TexMainOrder" id="TexMainOrder" name="fname">
</InsertItemTemplate>
item.ProductionOrderNo =collection["txtName"];
item.ProductionOrderNo = collection["TexMainOrder"];
即使您决定使用它,也应该添加名称并使它的客户端ID模式为静态
<asp:TextBox ID="txtName" name="txtName" clientIdMode="static" runat="server" ></asp:TextBox>
<asp:TextBox ID="TexMainOrder" name="TexMainOrder" ClientIdMode="static" runat="server" ></asp:TextBox>
在我看来,如果要使用FormCollection,则需要一个Form。 我看不到您的标记中的一个。
我已经解决了。 我应该给出从中捕获数据的完整路径,
如此
item.ProductionOrderNo =collection["textProductionOrderNo"];
我写
item.ProductionOrderNo = collection["ctl00$MainContent$DetailsView1$textProductionOrderNo"];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.