jquery加载部分视图asp.net mvc
我在使用母版页的basic index.aspx页面上有一些标题选项卡 标题选项卡在索引页上从viewusercontrol()正确呈现。问题是我试图在没有任何运气的情况下将其他部分视图加载到索引页中。有人能指出我做错了什么吗 在母版页上,我添加了以下js代码:jquery加载部分视图asp.net mvc,jquery,asp.net-mvc,asp.net-mvc-2,partial-views,Jquery,Asp.net Mvc,Asp.net Mvc 2,Partial Views,我在使用母版页的basic index.aspx页面上有一些标题选项卡 标题选项卡在索引页上从viewusercontrol()正确呈现。问题是我试图在没有任何运气的情况下将其他部分视图加载到索引页中。有人能指出我做错了什么吗 在母版页上,我添加了以下js代码: 请看这篇文章:。另请参阅:或。我使用这个解决方案(也是从某处): 控制器的公共类:控制器 { [HttpPost] 公共JsonResult编辑表单(int Id) { var model=Mapper.Map(_repo.GetOff
请看这篇文章:。另请参阅:或。我使用这个解决方案(也是从某处):
控制器的公共类:控制器
{
[HttpPost]
公共JsonResult编辑表单(int Id)
{
var model=Mapper.Map(_repo.GetOffer(Id));
返回Json(new{status=“ok”,partial=this.RenderPartialViewToString(“Edit”,model)});
}
}
公共静态部分类控制器扩展
{
公共静态字符串RenderPartialViewToString(此ControllerBase控制器、字符串partialPath、对象模型)
{
if(string.IsNullOrEmpty(partialPath))
partialPath=controller.ControllerContext.RoutedData.GetRequiredString(“操作”);
controller.ViewData.Model=模型;
使用(StringWriter sw=new StringWriter())
{
ViewEngineResult viewResult=ViewEngines.Engines.FindPartialView(controller.ControllerContext,partialPath);
ViewContext ViewContext=新的ViewContext(controller.ControllerContext、viewResult.View、controller.ViewData、controller.TempData、sw);
//将模型状态项复制到html帮助器
foreach(viewContext.Controller.ViewData.ModelState中的变量项)
如果(!viewContext.ViewData.ModelState.Keys.Contains(item.Key))
{
viewContext.ViewData.ModelState.Add(项);
}
viewResult.View.Render(viewContext,sw);
返回sw.GetStringBuilder().ToString();
}
}
}
$(document).ready(function () {
$('div.headertabs span').click(function () {
var tabclass = $(this).attr('class')
var tabid = $(this).children('a').attr('id')
if (tabclass.indexOf("selected") == -1) {
$(this).parent().children('.selected').removeClass('selected');
$(this).addClass('selected');
switch (tabid) {
case "dashboard": $('#MainContent').load('<%= Html.RenderAction("ViewDashboard") %>');
default: $('#MainContent').load('<%= Html.RenderAction("ViewDashboard") %>');
}
}
});
});
Function ViewDashboard() As ActionResult
Return PartialView()
End Function
public class OfferController : Controller
{
[HttpPost]
public JsonResult EditForm(int Id)
{
var model = Mapper.Map<Offer, OfferEditModel>(_repo.GetOffer(Id));
return Json(new { status = "ok", partial = this.RenderPartialViewToString("Edit", model) });
}
}
public static partial class ControllerExtensions
{
public static string RenderPartialViewToString(this ControllerBase controller, string partialPath, object model)
{
if (string.IsNullOrEmpty(partialPath))
partialPath = controller.ControllerContext.RouteData.GetRequiredString("action");
controller.ViewData.Model = model;
using (StringWriter sw = new StringWriter())
{
ViewEngineResult viewResult = ViewEngines.Engines.FindPartialView(controller.ControllerContext, partialPath);
ViewContext viewContext = new ViewContext(controller.ControllerContext, viewResult.View, controller.ViewData, controller.TempData, sw);
// copy model state items to the html helper
foreach (var item in viewContext.Controller.ViewData.ModelState)
if (!viewContext.ViewData.ModelState.Keys.Contains(item.Key))
{
viewContext.ViewData.ModelState.Add(item);
}
viewResult.View.Render(viewContext, sw);
return sw.GetStringBuilder().ToString();
}
}
}