在場景下方,我想我必須在第一次加載時看到表單中的START文本。 當我點擊發送數據按鈕並提交時,我等待在我的表單中看到完成文本。MVC3 Form Posted Value
買的時候我按一下按鈕,併發布形式中,啓動文本永遠不會改變......
任何人都可以告訴這個問題?
我的控制器:
namespace MvcApplication1.Controllers
{
public class BuyController : Controller
{
public ActionResult Index(BuyModel model)
{
if (Request.HttpMethod == "GET")
{
model.Message= "START";
return View(model);
}
else
{
BuyModel newModel = new BuyModel();
newModel.Message= "FINISH";
return View(newModel);
}
}
}
}
我的觀點:
@model MvcApplication1.Models.BuyModel
@using (Html.BeginForm("Index", "Buy", FormMethod.Post))
{
@Html.TextBoxFor(s => s.Message)
<button type="submit" >Send</button>
}
我的模型:
public class BuyModel
{
public string Message { get; set; }
}
感謝您的回覆,但您的代碼與我的代碼完全相同。 [HttpPost]屬性做我在我的代碼中做的事情... 它具有相同的效果... – AltugCan 2012-02-23 19:46:27
@AltugCan好吧,我明白你在說什麼了。如果你用一個'LabelFor()'代替文本框,它會按照你的想法工作。但由於某種原因,文本框的值正在被覆蓋。如果您仔細查看代碼,您會看到在POST操作中設置了正確的模型數據。望着它... – 2012-02-23 20:08:52
@AltugCan,雅,但一般來說,你不應該爲http動詞寫mvc應用程序。這些屬性是有原因的,並有助於代碼可讀性(加上更多) – 2012-02-23 20:11:54