我正在开发MVC网络应用,拥有模型类 student.cs
其中包含属性 名称,地址,点 ,其中points是整数。在视图中我试图使用:
<%=Html.TextBoxFor(model => model.points) %>
编译器无法接受它。 如何使用Html.TextBoxFor作为整数?
答案 0 :(得分:2)
创建一个新的ASP.NET MVC项目并仅使用您提供的代码:
你会发现它有效。
查看强>
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<Models.Student>" %>
<!DOCTYPE html>
<html>
<head runat="server">
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
<div>
<%= Html.TextBoxFor(model => model.repPoints) %>
</div>
</body>
</html>
<强>模型强>
public class Student
{
public Student() { } //constructor :)
public Student(int ID, int repPoints)
{ this.ID = ID; this.repPoints = repPoints; }
public int ID { get; set; }
public int repPoints { get; set; } }
<强>控制器强>
public class TestController : Controller
{
public ActionResult Index()
{
Student student = new Student(10, 20);
return View(student);
}
public ActionResult UpdateStudent(Student student)
{
//access the DB here
return View("Index",student);
}
}
答案 1 :(得分:2)
如果您只想要最小值为1的数字,可以这样做:@Html.TextBoxFor(model => model.Id, new {@type = "number", @min = "1"})
答案 2 :(得分:1)
您需要将整数转换为字符串
@ Html.TextBoxFor(model =&gt; model.points.ToString())
修改强> 代码应该工作。一个非常简单的测试
模型
public class Product
{
public int Id { get; set; }
}
控制器
public ActionResult Index()
{
var model = new Product {Id = 10};
return View(model);
}
视图
@Html.TextBoxFor(model => model.Id)