0

MVC2 ASP プロジェクトに取り組んでいます。私が得た問題は、コントローラーがビューからの値をキャッチしないことです。Formcollection を使用して Textbox からの値をビューでキャッチしますが、実行すると 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>
4

3 に答える 3

0

FormCollection を使用する場合は、フォームが必要なようです。あなたのマークアップには見当たりません。

于 2013-05-07T17:50:36.407 に答える
0

私はそれを修正しました。データを取得する場所の完全なパスを指定する必要があります。

とても気になった

item.ProductionOrderNo =collection["textProductionOrderNo"];

私が書いた

 item.ProductionOrderNo = collection["ctl00$MainContent$DetailsView1$textProductionOrderNo"];
于 2013-05-08T01:47:50.210 に答える