如何在 jquery 中设置另一个视图的正文内容

How do I set the body content of another view in jquery

本文关键字:视图 正文 另一个 设置 jquery      更新时间:2023-09-26

我有一个带有 2 个视图的 C# MVC 项目设置。我的方案如下:

视图 1 有一个链接。单击该链接应使用某些文本填充 View2 的内容。如何使用 jQuery 在 View1 中设置 View2.cshtml 的正文?

我尝试过这样的事情,但没有任何反应。

$("#link").click(function () {
  string result = "Blah blah";
  $("/Home/RawData.cshtml").html(result);                                                
});

原始数据视图为空:

@{
    ViewBag.Title = "RawData";
}
<body>    
    <!-- This will be populated dynamically -->
</body>

原始数据控制器:

public ActionResult RawData()
{
    return View();
}

我认为你想要的可以使用iframe来完成。只需在 view1 的点击事件上设置 iframe 的源,并按照 @stephen_muecke 的建议将字符串作为查询字符串传递即可。

我的意思是:

$('#iframe_i').attr('src', "/Home/RawData/?text="+$("#myTextBox").val())
您需要

将 RawData 操作从 ActionResult 更改为 PartialViewResult:

public PartialViewResult RawData(){
    return PartialView("View2Url");
}

然后在JS中,您可以使用ajax并执行以下操作:

$('#link').click(function(){
    $.get('/Home/RawData', {}, function(data){
        $('body').html(data);
    });
});