Tôi đang cố chuyển một biến chuỗi bên trong asp.net MVC. Tôi sử dụng breakpoint vì vậy tôi thấy rằng nó đi đến phương pháp chính xác trong bộ điều khiển, nhưng các biến được đăng bằng null.Truyền các biến với POST trong ASP.NET MVC
đánh dấu của tôi:
@{
ViewBag.Title = "TestForm";
}
<h2>TestForm</h2>
@using (Html.BeginForm()) {
<input type="text" id="testinput" />
<input type="submit" value="TestForm" />
}
điều khiển của tôi:
public ActionResult TestForm()
{
return View();
}
[HttpPost]
public ActionResult TestForm(string testinput)
{
Response.Write("[" + testinput + "]");
return View();
}
tôi đặt breakpoint trong phương pháp TestForm thứ hai và testinput là null .... Tôi có thiếu cái gì?
Lưu ý: Tôi nhận thấy rằng hầu hết thời gian tôi sẽ sử dụng mô hình để truyền dữ liệu xung quanh, nhưng tôi muốn biết rằng tôi cũng có thể vượt qua chuỗi.
Là một phần của cùng một câu hỏi, làm cách nào để chuyển một số biến? Phương thức trong trình điều khiển của tôi có trông giống như sau:
[HttpPost]
public ActionResult TestForm(string var1, var2)
{
}
vâng nó làm việc hmmmm!. tại sao MS quyết định dựa vào một tên và không phải là ID ???? tại sao họ luôn luôn làm điều đó ngược ???? Nhưng cảm ơn! – sarsnake
Không, Microsoft thực sự tuyệt vời với mvc, đừng nghĩ về microsoft về điều đó. Về tiêu chuẩn web của nó. Về cơ bản, thuộc tính id được sử dụng để áp dụng javascript (getElementsById, CSS-StyleSheets, jQuery và hơn thế nữa). Thuộc tính tên có liên quan đến các bài đăng và các thứ không đồng bộ (theo hướng dữ liệu). – dknaack
Trong biểu mẫu html thông thường, tôi không bao giờ phải chỉ định thuộc tính tên, id luôn sufficed và các biến được đăng thành công. – sarsnake