我在c#上工作MVC 5, 关于运行局部视图的问题。
码,
控制器:
MiyosContext db= new MiyosContext();
public ActionResult Index(int id)
{
ViewBag.IndexId = id;
return View();
}
public PartialViewResult FirmaList(int id)
{
var firmalar = (from b in db.Firmalar
where b.Id == id
select b).ToList();
return PartialView(firmalar);
}
查看:
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_LayoutGenel.cshtml";
}
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.1.0.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
var firmaId = document.getElementById("gelenId").value;
$('#firmaBilgileri').load("../Firma/FirmaList/" + firmaId);
});
</script>
<input type="hidden" value="@ViewBag.FirmaId" id="gelenId" />
<div id="firmaBilgileri">
</div>
部分视图无法使用“int id”。
如果我像这样更换控制器,则没有问题:
public ActionResult Index()
{
ViewBag.IndexId = 2;
return View();
}
我删除了“int id”并查看了没有帖子的开头。现在它正在运作。为什么使用“int id”阻止局部视图?
注意:它不是关于url post功能。
答案 0 :(得分:0)
因为需要来自资源网址的id
:
GET /Firma/Index/2
您可以保留为前者并在浏览器中输入:
http://localhost:portNumber/Firmar/Index/2
它应该与id
参数一起使用。
因此,您需要做的就是向load()
请求添加查询字符串:
$('#firmaBilgileri').load("/Firma/FirmaList?id=" + firmaId);
确保请求实际上命中MVC控制器。