尝试使用Ext.NET从ajax请求加载选项卡时出现异常
我正在将asp.net mvc与ext.net一起使用,并尝试创建一组选项卡,仅当用户选择这些选项卡时才加载信息 我可以使用ContentFromAction功能将局部视图加载到选项卡/面板中: 但我不知道如何仅在选择选项卡时填充选项卡/面板 我的项目基于尝试使用Ext.NET从ajax请求加载选项卡时出现异常,ext.net,Ext.net,我正在将asp.net mvc与ext.net一起使用,并尝试创建一组选项卡,仅当用户选择这些选项卡时才加载信息 我可以使用ContentFromAction功能将局部视图加载到选项卡/面板中: 但我不知道如何仅在选择选项卡时填充选项卡/面板 我的项目基于Ext.NET MVC示例资源管理器2.5版代码库,此代码基于TabPanel>Basic>Ajax加载示例 我已经尽可能减少了示例,以重现问题: 在我看来,我创建了选项卡并配置了加载程序(与示例项目完全相同): Index.cshtml
Ext.NET MVC示例资源管理器2.5版
代码库,此代码基于TabPanel>Basic>Ajax加载
示例
我已经尽可能减少了示例,以重现问题:
在我看来,我创建了选项卡并配置了加载程序(与示例项目完全相同):
Index.cshtml
X.Panel()
.ID("Tab3")
.Title("Ajax Tab")
.BodyPadding(6)
.AutoScroll(true)
.Loader(X.ComponentLoader()
.Url(Url.Action("Ajax"))
.LoadMask(m => m.ShowMask = true)
.Params(new Parameter("containerId", "Tab3"))
.Mode(LoadMode.Html)
)
它正确地调用我的控制器(与示例项目完全相同):
Axax\u LoadController.cs
using System.Web.Mvc;
namespace Ext.Net.MVC.Examples.Areas.TabPanel_Basic.Controllers
{
public class Ajax_LoadController : Controller
{
public ActionResult Ajax(string containerId)
{
return View("Ajax");
}
}
}
单击该选项卡后,它会在选项卡中显示相应的视图:
Ajax.cshtml(这很有效)
它会在我选择的选项卡中正确呈现以下文本:
当选择选项卡时,我通过Ajax加载内容
Ext.create(“Ext.form.field.Text”,{renderTo:“App.id534c5fe0f159f3fb_Container”,value:“我是一个文本字段”})代码>
我相信ext.net代码是@geoffrey.mcgill在堆栈溢出上编写的,所以我希望他能帮助我。您需要使用PartialViewResult。请看这些例子
就我个人而言,我建议遵循部分项目示例。您始终可以将任何非Ext.NET内容包装到Ext.NET容器中。这种方法的好处是,如果重新加载内容,您无需担心会破坏Ext.NET组件。尽管如此,我还是建议在局部视图中为Ext.NET组件设置显式ID。至少,对于顶级组件
@using Ext.Net.MVC
<div>
<p>I am content loaded via Ajax when the tab is selected</p>
</div>
@using Ext.Net.MVC
@{ var X = Html.X(); }
<div>
<p>I am content loaded via Ajax when the tab is selected</p>
@X.TextField().Text("I am a text field")
</div>
@using Ext.Net.MVC
@{ var X = Html.X(); }
<div>
<p>I am content loaded via Ajax when the tab is selected</p>
@X.TextField().Text("I am a text field").ToHtmlString()
</div>