asp.net request.form

gho*_*... 3 asp.net asp.net-mvc asp.net-mvc-2

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);
}
Run Code Online (Sandbox Code Playgroud)

这是我在控制器(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>
Run Code Online (Sandbox Code Playgroud)

这是视图。当有人点击提交按钮时,它被定向到一个新页面:

<div>
   <b> ID</b> <%= Model.Id %><br />
   <b> Code </b><%=Model.CustomerCode %><br />
   <b> Amount</b> <%=Model.Amount %><br />
</div>
Run Code Online (Sandbox Code Playgroud)

我总是在 Id 和 Amount 中得到 0,而在 CustomerCode 中为空白。

有什么线索吗?为什么会发生这种情况?怎么了?

Ari*_*tos 5

您在这里的问题是您设置了id,而不是name. 设置名称以获取回发值。例如:

<input type="text" name="Customerid" />
Run Code Online (Sandbox Code Playgroud)

另请阅读:HTML 输入 - “用于表单元素提交信息”行中的名称与 id