Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MVC3 JQuery部分视图Div更新_Jquery_Asp.net Mvc 3_Html_Partial Views - Fatal编程技术网

MVC3 JQuery部分视图Div更新

MVC3 JQuery部分视图Div更新,jquery,asp.net-mvc-3,html,partial-views,Jquery,Asp.net Mvc 3,Html,Partial Views,以下是我的设想: 我从viewModel创建了以下菜单 <ul> <li id="1" class="menu-item-click">Item 1</li> <li id="2" class="menu-item-click">Item 2</li> <li id="3" class="menu-item-click">Item 3</li> </ul> })) 我的问题是

以下是我的设想:

我从viewModel创建了以下菜单

<ul>
    <li id="1" class="menu-item-click">Item 1</li>
    <li id="2" class="menu-item-click">Item 2</li>
    <li id="3" class="menu-item-click">Item 3</li>
</ul>
}))

我的问题是,我是否应该存储要加载的局部视图的信息

我可以将其作为自定义属性存储在列表项(li)中。(似乎不是最好的方式)

我希望有一种方法可以将列表项的id发送到一种“主”控制器,该控制器可以返回正确的局部视图


任何帮助/指导都将不胜感激我更喜欢将数据附加到元素,它被认为是一种语义方式,可以使用元素存储数据,而不必与JS代码混在一起,而且它被认为是从HTML5开始的标准做法

<ul>
    @foreach (MyView item in Model.MyViews) {
        <li id="@item.id" class="menu-item-click" data-view="@item.href">Item 1</li>
    }
</ul>


$(".menu-item-click").click(function () {
    var view = $(this).data('view');
});
    @foreach(Model.MyViews中的MyView项){
  • 项目1
  • }
$(“。菜单项单击”)。单击(函数(){ var view=$(this.data('view'); });
我不确定您想要存储什么类型的信息以及存储什么,但是如果您使用基于DOM的jQuery和its,存储信息的一个很好的方法是$.data()

然后,打电话:

$.data('#someElement','theKey')
//returns "some data goes here"
您还可以在其中存储JSON内容,如:

$.data(document.body,'data',{name:'Jim smith', email:'xxx@xxx.com'});

如果要存储的数据基于元素,我会这样做。如果是任意数据,可以将其存储在localStorage中。如果这是您需要的更多内容,请告诉我,我也可以写一个例子。

如何获得部分视图链接?您的模型是否包含
IEnumerable
?是。MenuItem实体包含Id、MenuName和menuview,这是我的第一个想法。使用html5数据属性。只是想知道是否还有其他我没有想到的方法。是的……这也是我的想法。
$.data('#someElement','theKey')
//returns "some data goes here"
$.data(document.body,'data',{name:'Jim smith', email:'xxx@xxx.com'});