gpt4 book ai didi

ajax - MVC 3 Razor的主从样本代码(有关详细信息,请使用Ajax)

转载 作者:行者123 更新时间:2023-12-04 03:30:37 25 4
gpt4 key购买 nike

我正在寻找使用C#mvc 3创建主/细节的示例代码。

具体来说,我试图弄清楚如何通过ajax调用部分 View 的呈现。我可以将部分 View 放在表单上,​​但要在用户通过Ajax从选择列表中选择一个项目后填充它。

谢谢

最佳答案

与往常一样,您从模型开始:

public class MyViewModel
{
public int Id { get; set; }
public string Title { get; set; }
}

public class DetailsViewModel
{
public string Foo { get; set; }
public string Bar { get; set; }
}

然后是一个 Controller :
public class HomeController : Controller
{
public ActionResult Index()
{
// TODO: don't hardcode, fetch from repository
var model = Enumerable.Range(1, 10).Select(x => new MyViewModel
{
Id = x,
Title = "item " + x
});
return View(model);
}

public ActionResult Details(int id)
{
// TODO: don't hardcode, fetch from repository
var model = new DetailsViewModel
{
Foo = "foo detail " + id,
Bar = "bar detail " + id
};
return PartialView(model);
}
}

和相应的 View 。
~/Views/Home/Index.cshtml:
@model IEnumerable<MyViewModel>

<ul>
@Html.DisplayForModel()
</ul>

<div id="details"></div>

<script type="text/javascript">
$(function () {
$('.detailsLink').click(function () {
$('#details').load(this.href);
return false;
});
});
</script>
~/Views/Home/Details.cshtml:
@model DetailsViewModel
@Model.Foo
@Model.Bar
~/Views/Home/DisplayTemplates/MyViewModel.cshtml:
@model MyViewModel
<li>
@Html.ActionLink(Model.Title, "details", new { id = Model.Id }, new { @class = "detailsLink" })
</li>

关于ajax - MVC 3 Razor的主从样本代码(有关详细信息,请使用Ajax),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5532568/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com