我正试图利用Ajax(我认为)呼吁更新我的模型价值,然后把这一新价值反映在这一看法中。 我现在只是为了测试目的。
概述:
public class MyModel
{
public int Integer { get; set; }
public string Str { get; set; }
}
http://www.ohchr.org。
public ActionResult Index()
{
var m = new MyModel();
return View("Test1", m);
}
[HttpPost]
public ActionResult ChangeTheValue(MyModel model)
{
var m = new MyModel();
m.Str = model.Str;
m.Str = m.Str + " Changed! ";
m.Integer++;
return View("Test1", m);
}
http://www.ohchr.org。
@model Test_Telerik_MVC.Models.MyModel
@using Test_Telerik_MVC.Models
@{
ViewBag.Title = "Test1";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>
Test1</h2>
@if (false)
{
<script src="~/Scripts/jquery-1.4.4.min.js" type="text/javascript"></script>
<script src="~/Scripts/jquery-ui.min.js" type="text/javascript"></script>
}
<h2>
ViewPage1
</h2>
<div>
<input type="button" onclick="changeButtonClicked()" id="changeButton" value="Click Me!" />
<input type="text" value="@Model.Str" class="txt" id="str" name="Str"/>
<div></div>
</div>
<script type="text/javascript">
function changeButtonClicked() {
var url = @Url.Action("ChangeTheValue", "Test1") ;
var data = @Model ;
$.post(url, data, function (view) {
$("#Str").value = @Model.Str ;
});
}
</script>
基本上,这种观点使纽托有一个文本箱。 我的唯一目的是简单地在文本箱中展示我的模型(Str Property)的价值。
我尝试了改变ButtonClicked()功能的各种组合,但没有结果。 测试1是我的控制者的名字。 我不理解的是,当我ug倒时,控制者的行动火上,我的价值正确。 如果我对“@Model”作一个断点。 输入标语中的“强”部分显示我是我的@Model。 力量平等! 这是正确的。 然而,一旦我成功运作时,该数值就回到原来的价值。
我可以通过改变投入类型,以“Html”的形式提交和总结。 BeginForm()节,但我很想知道它是否和怎样这样做? 或者说是达到这一目的的唯一途径吗?
增 编