加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

MVC 3 Razor的Master-Detail示例代码(使用Ajax了解详细信息)

发布时间:2020-12-16 01:35:24 所属栏目:百科 来源:网络整理
导读:我正在寻找示例代码来创建一个主/细节与c#mvc 3. 具体来说,我试图找出如何通过ajax调用部分视图的渲染.我可以把部分视图放在窗体上,但是想要在用户通过ajax从选择列表中选择一个项目之后进行填充. 谢谢 与往常一样,您从模型开始: public class MyViewModel{
我正在寻找示例代码来创建一个主/细节与c#mvc 3.

具体来说,我试图找出如何通过ajax调用部分视图的渲染.我可以把部分视图放在窗体上,但是想要在用户通过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; }
}

那么一个控制器:

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);
    }
}

和相应的看法.

?/查看/主页/ 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>

?/查看/主页/ Details.cshtml:

@model DetailsViewModel
@Model.Foo
@Model.Bar

?/浏览/首页/ DisplayTemplates / MyViewModel.cshtml:

@model MyViewModel
<li>
    @Html.ActionLink(Model.Title,"details",new { id = Model.Id },new { @class = "detailsLink" })
</li>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读