c# – 在MVC中将数据从视图传递到局部视图
发布时间:2020-12-15 18:30:23 所属栏目:百科 来源:网络整理
导读:我想从View到Partial View发送3个参数,我将部分视图打开到新的浏览器选项卡. 参数是 var Hdata = 'some value'; var abc = document.getElementById('mycontrol1');var abcd = document.getElementById('mycontrol2'); 这三个参数我想将它发送到部分视图. 代
我想从View到Partial View发送3个参数,我将部分视图打开到新的浏览器选项卡.
参数是 var Hdata = 'some value'; var abc = document.getElementById('mycontrol1'); var abcd = document.getElementById('mycontrol2'); 这三个参数我想将它发送到部分视图. window.open('@Url.Action("Action","Controller")','_blank'); 那么如何将数据传递给Partial视图呢? 提前致谢. 解决方法
如果只使用部分名称渲染部分:
@Html.Partial("_SomePartial") 它实际上将您的模型作为隐式参数传递,就像您调用时一样: @Html.Partial("_SomePartial",Model) 现在,为了让你的部分实际上能够使用它,它也需要有一个已定义的模型,例如: @model Namespace.To.Your.Model @Html.Action("MemberProfile","Member",new { id = Model.Id }) 或者,如果你正在处理一个不在你视图模型上的值(它在ViewBag中或者以某种方式在视图中生成的值),那么你可以传递一个ViewDataDictionary @Html.Partial("_SomePartial",new ViewDataDictionary { { "id",someInteger } }); 然后: @Html.Action("MemberProfile",new { id = ViewData["id"] }) 与模型一样,默认情况下,Razor将隐式传递视图的ViewData部分,因此如果您在视图中有ViewBag.Id,那么您可以在部分中引用相同的内容. 请在下面找到示例代码 @{ ViewBag.Title = "Index"; string someValue ="abcd"; } 现在传递像这样的字符串值 <h2>Index</h2> @Html.Partial("_MyPartial",someValue) 部分视图使用传递的数据的方式没有变化.就部分视图而言,它正在接收您可以通过@Model访问的数据. Data received is : @Model (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |