';System.Web.Mvc.HtmlHelper';没有名为';TextBox';

本文关键字:TextBox Mvc System Web HtmlHelper | 更新日期: 2023-09-27 17:57:52

这是我在MVC2中的第一次应用。以下是我的视图、控制器和另一个显示输出的视图。

StartPage.aspx

<form action="DisplayCustomer" method="post">
    Enter customer id :- <input type="text" name="Id" /> <br />
    Enter customer code :- <input type="text" name="CustomerCode" /><br />
    Enter customer Amount :-<input type="text" name="Amount" /><br />
    <input type="submit" value="Submit customer data" />
</form>

CustomerController.cs

public class CustomerController : Controller
{
    [HttpPost]
    public ViewResult DisplayCustomer()
    {
        Customer objCustomer = new Customer();
        objCustomer.Id = Convert.ToInt16(Request.Form["Id"].ToString());
        objCustomer.CustomerCode = Request.Form["Id"].ToString();
        objCustomer.Amount = Convert.ToDouble(Request.Form["Amount"].ToString()); ;
        return View("DisplayCustomer", objCustomer);
    }
}

DisplayCustomer.aspx

<div>
    The customer Name is <%= Model.Name %> <br />
    The customer Code is <%= Model.Code %> <br />
    <% if (Model.Amount > 100) {%>
    This is a privileged customer
    <% } else{ %>
    This is a normal customer
    <%} %>
</div>

上面的方法对我来说很好。但我想把它改成下面的方法,就像我在下面的教程中一样。我在这里也包含了错误消息。


以下是我想要的

StartPage.aspx

<% using (Html.BeginForm("DisplayCustomer","Customer",FormMethod.Post))
{ %>
    Enter customer id :- <%= Html.TextBox("Id",Model)%> <br />
    Enter customer code :- <%= Html.TextBox("CustomerCode",Model) %><br />
    Enter customer Amount :- <%= Html.TextBox("Amount",Model) %><br />
    <input type="submit" value="Submit customer data" />
<%} %>

错误消息

"System.Web.Mvc.HtmlHelper"没有名为的适用方法"TextBox",但似乎具有该名称的扩展方法。无法动态调度扩展方法。考虑铸造动态参数或调用不带扩展方法语法。

CustomerController.cs

[HttpPost]
public ActionResult DisplayCustomer(Customer obj)
{
    return View(obj);
}

我在这里提供了教程的链接。在那个教程中,LAB5是我一直面临的问题,它在页面的底部
http://www.codeproject.com/Articles/207797/Learn-MVC-Model-View-Controller-step-by-step-in-7?fid=1631845&df=90&mpp=25&sort=位置&spc=放松&tid=4684984

我在这里发帖之前已经尝试了很多,没有用。请帮忙。请记住,我是MVC的新手,这是我的第一个应用程序。

';System.Web.Mvc.HtmlHelper';没有名为';TextBox';

当前MVC 5已经发布,您有更完整的MVC3和具有许多移动功能的MVC4!为什么不迁移到上一个版本?

或者请安装MVC 3 www.asp.net/MVC,然后按照以下更正您的视图

  <% using (Html.BeginForm("DisplayCustomer","Customer",FormMethod.Post))
 { %>
     Enter customer id :- <%= Html.TextBoxFor(model=>model.Id)%> <br />
     Enter customer code :- <%= Html.TextBoxFor(model=>model.CustomerCode) %><br />
     Enter customer Amount :- <%= Html.TextBoxFor(model=>model.Amount) %><br />
     <input type="submit" value="Submit customer data" />
<%} %>

我怀疑您可能使用的是未与模型绑定的普通视图。您需要使用将视图绑定到模型的强类型视图(此处为"客户"模型),然后编写HTML帮助程序。