3
public ActionResult DisplayCustomer()
{
    Customer objCustomer = new Customer();

    objCustomer.Id = Convert.ToInt16(Request.Form["Customerid"]);
    objCustomer.CustomerCode = Request.Form["code"];
    objCustomer.Amount = Convert.ToDouble(Request.Form["amount"]);
    return View(objCustomer);
}

これはコントローラー(MVC 2 aspx)での私のアクションです:

<form action="DisplayCustomer" method="post">
    Customer id:-
    <input type="text" id="Customerid" /><br />
    Customer Code:-
    <input type="text" id="code" /><br />
    Customer amount:-
    <input type="text" id="amount" /><br />
    <input type="submit" value="click here" />
</form>

これがビューです。誰かが送信ボタンを押すと、新しいページに移動します。

<div>
   <b> ID</b> <%= Model.Id %><br />
   <b> Code </b><%=Model.CustomerCode %><br />
   <b> Amount</b> <%=Model.Amount %><br />
</div>

CustomerCodeで空白の場合、IdとAmountで常に0を取得します。

どんな手掛かり?なぜこれが起こっているのですか?なにが問題ですか?

4

1 に答える 1

5

ここでの問題は、を設定することであり、を設定することidではありませんname。ポストバック値を取得するために名前を設定します。例えば:

<input type="text" name="Customerid" />

また読む: HTML入力- 「情報を送信するためにフォーム要素で使用される」行の名前とID

于 2012-06-15T12:35:54.240 に答える