Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/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
Javascript 在asp.net MVC中呈现局部视图(模式窗口)_Javascript_Asp.net Mvc - Fatal编程技术网

Javascript 在asp.net MVC中呈现局部视图(模式窗口)

Javascript 在asp.net MVC中呈现局部视图(模式窗口),javascript,asp.net-mvc,Javascript,Asp.net Mvc,对不起,我的问题措辞很糟糕 我希望得到每个人关于处理这个问题的最佳方法的想法 我在母版页上有一个链接,链接到联系人表单。如果用户启用了javascript,我想使用jQuery打开一个模式窗口中的表单。如果没有,用户将直接进入联系人表单页面 问题是,当提供模式窗口时,我只想显示联系人表单-减去周围的模板/母版页。但是,在禁用javascript的情况下,联系人表单页面应与模板/母版页一起显示 实现这一点的最佳方式是什么?目前,我唯一的想法是使用javascript在联系人表单链接中附加一个值/查

对不起,我的问题措辞很糟糕

我希望得到每个人关于处理这个问题的最佳方法的想法

我在母版页上有一个链接,链接到联系人表单。如果用户启用了javascript,我想使用jQuery打开一个模式窗口中的表单。如果没有,用户将直接进入联系人表单页面

问题是,当提供模式窗口时,我只想显示联系人表单-减去周围的模板/母版页。但是,在禁用javascript的情况下,联系人表单页面应与模板/母版页一起显示

实现这一点的最佳方式是什么?目前,我唯一的想法是使用javascript在联系人表单链接中附加一个值/查询字符串,指示启用了javascript。例如,或。如果启用了javascript,我可以部分呈现联系人表单

我欢迎所有的想法和链接


谢谢

在控制器中使用此选项:

if (Request.IsAjaxRequest())
{
    return PartialView("PartialViewWithYourForm");
}

return View("FullView");
FullView.aspx

...
<%= Html.RenderPartial("PartialViewWithYourForm") %>
...
。。。
...

在控制器中使用此选项:

if (Request.IsAjaxRequest())
{
    return PartialView("PartialViewWithYourForm");
}

return View("FullView");
FullView.aspx

...
<%= Html.RenderPartial("PartialViewWithYourForm") %>
...
。。。
...

使用jQuery确实可以很好地做到这一点

假设您的联系人页面上的联系人表单被包装在一个带有
id=“myContactForm”
的div中。您可以将选择器(例如,
“#myContactForm”
)与要加载内容的URL组合。您可以通过多种不同的方式将表单(或任何其他内容)直接加载到当前页面中。我个人更喜欢jqModal来满足我的模式窗口需求,但是如果您使用其他方法,可以使用jQuery.load方法本身来实现这一点

因此,如果您的第一个页面名为“master.html”,而您的联系人表单名为“contact.html”,那么您可以在“master.html”中执行以下操作:


请
有问题吗!
模态内容将放在这里;这个div最初是隐藏的。
如果没有javascript,这当然会链接到联系人表单。但您只想提取“contact.html”的一部分,并将其显示在母版页上。以下是如何在master.html页面上实现目标的想法:

<script type="text/javascript">
$(document).ready(function() {
    $('#contactLink').click(function() {
        $('#myModalPlaceholder').load('contact.html #myContactForm');
        return false; // cancel the native click event
    });
});
</script>

$(文档).ready(函数(){
$('#contactLink')。单击(函数(){
$('myModalPlaceholder').load('contact.html#myContactForm');
return false;//取消本机单击事件
});
});
请注意,在“load”方法中有一个空格将URL与您只想获取的目标页面上的区域分隔开。你可以阅读更多关于这方面的内容。这将从
contact.html
页面抓取
#myContactForm
div,并将其插入母版页的
#myModalPlaceHolder
div中

祝你好运

-Mike

使用jQuery确实可以很好地做到这一点

假设您的联系人页面上的联系人表单被包装在一个带有
id=“myContactForm”
的div中。您可以将选择器(例如,
“#myContactForm”
)与要加载内容的URL组合。您可以通过多种不同的方式将表单(或任何其他内容)直接加载到当前页面中。我个人更喜欢jqModal来满足我的模式窗口需求,但是如果您使用其他方法,可以使用jQuery.load方法本身来实现这一点

因此,如果您的第一个页面名为“master.html”,而您的联系人表单名为“contact.html”,那么您可以在“master.html”中执行以下操作:


请
有问题吗!
模态内容将放在这里;这个div最初是隐藏的。
如果没有javascript,这当然会链接到联系人表单。但您只想提取“contact.html”的一部分,并将其显示在母版页上。以下是如何在master.html页面上实现目标的想法:

<script type="text/javascript">
$(document).ready(function() {
    $('#contactLink').click(function() {
        $('#myModalPlaceholder').load('contact.html #myContactForm');
        return false; // cancel the native click event
    });
});
</script>

$(文档).ready(函数(){
$('#contactLink')。单击(函数(){
$('myModalPlaceholder').load('contact.html#myContactForm');
return false;//取消本机单击事件
});
});
请注意,在“load”方法中有一个空格将URL与您只想获取的目标页面上的区域分隔开。你可以阅读更多关于这方面的内容。这将从
contact.html
页面抓取
#myContactForm
div,并将其插入母版页的
#myModalPlaceHolder
div中

祝你好运

-迈克

谢谢你的回复,欧根。我已经考虑过了。但是,我相信jQuery模式窗口插件(fancybox)正在对联系人表单页面进行常规(非ajax)调用,因此Request.IsAjaxRequest的计算结果将为false。注意:我只是测试以确保它的评估结果为false。是否有一个易于将请求转换为ajax请求的方法?还是有其他方法可以做到这一点?谢谢你的帮助,Adam谢谢你的回复,eu ge ne。我已经考虑过了。但是,我相信jQuery模式窗口插件(fancybox)正在对联系人表单页面进行常规(非ajax)调用,因此Request.IsAjaxRequest的计算结果将为false。注意:我只是测试以确保它的评估结果为false。是否有一个易于将请求转换为ajax请求的方法?还是有其他方法可以做到这一点?谢谢你的帮助,亚当这正是我需要的,迈克!jQuery总是给我留下深刻印象——我不知道在加载函数中可以使用这样的jQuery选择器。谢谢你详尽的回答。这正是我需要的,迈克!jQuery总是给我留下深刻印象——我不知道在加载函数中可以使用这样的jQuery选择器。谢谢你非常详尽的回答。