如何在MVC中使用html.textboxfor作为数字

时间:2013-04-16 08:09:17

标签: c# html asp.net-mvc

我正在开发MVC网络应用,拥有模型类 student.cs

其中包含属性 名称,地址,点 ,其中points是整数。在视图中我试图使用:

<%=Html.TextBoxFor(model => model.points) %>

编译器无法接受它。 如何使用Html.TextBoxFor作为整数?

3 个答案:

答案 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)