Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.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函数调用mvc razor视图_Javascript_Asp.net Mvc_Data Binding - Fatal编程技术网

从javascript函数调用mvc razor视图

从javascript函数调用mvc razor视图,javascript,asp.net-mvc,data-binding,Javascript,Asp.net Mvc,Data Binding,是否可以通过javascript函数从主视图调用另一个mvc razor视图,或者我们应该始终使用动作控制器? 如果有一些参数要发送到新视图,如何使用javasript函数执行该操作?您永远不会直接从Javascript调用视图 调用控制器(如果需要,可以使用参数),然后控制器处理数据并返回视图 视图始终是控制器的结果,从不直接从任何外部前端代码调用。但是,控制器操作的视图可以使用多个局部视图来完成最终结果。您从不直接从Javascript调用视图 调用控制器(如果需要,可以使用参数),然后控制

是否可以通过javascript函数从主视图调用另一个mvc razor视图,或者我们应该始终使用动作控制器?
如果有一些参数要发送到新视图,如何使用javasript函数执行该操作?

您永远不会直接从Javascript调用视图

调用控制器(如果需要,可以使用参数),然后控制器处理数据并返回视图


视图始终是控制器的结果,从不直接从任何外部前端代码调用。但是,控制器操作的视图可以使用多个局部视图来完成最终结果。

您从不直接从Javascript调用视图

调用控制器(如果需要,可以使用参数),然后控制器处理数据并返回视图


视图始终是控制器的结果,从不直接从任何外部前端代码调用。但是,控制器动作的视图可以使用多个局部视图来完成最终结果。

最好的方法是使用局部视图。例如,正如JensB所说,您从不调用视图,而是调用控制器

Javascript

function GetPartialView(parameter){    
    var url = "@Url.Action("PartialView", "Controller", new { parameter= "-parameter" })";
    url = url.replace("-parameter", parameter);
    //HTML element to load the partial view 
    $("#DivElement").load(url);
}
控制器

    public ActionResult PartialView()
    {
        //Code you need to return to the partial view...
        return PartialView("partialview");
    }
因此,在调用javascript之后,您将向控制器发送一个调用,控制器将发送您指定的特定视图。
希望这有帮助。

最好的方法是使用局部视图。例如,正如JensB所说,您从不调用视图,而是调用控制器

Javascript

function GetPartialView(parameter){    
    var url = "@Url.Action("PartialView", "Controller", new { parameter= "-parameter" })";
    url = url.replace("-parameter", parameter);
    //HTML element to load the partial view 
    $("#DivElement").load(url);
}
控制器

    public ActionResult PartialView()
    {
        //Code you need to return to the partial view...
        return PartialView("partialview");
    }
因此,在调用javascript之后,您将向控制器发送一个调用,控制器将发送您指定的特定视图。
希望这有帮助。

在我的例子中,我有一个主视图,其中包含一个gridpanel。当我单击网格面板的一个元素时,我想创建一个弹出窗口来显示所选元素的一些详细信息。为什么我要回到服务器和客户端?你可以打开一个单独的页面,这将是你从服务器请求的一个单独的操作,或者你可以将额外的数据隐藏在一个div中,当用户单击链接时,你可以显示该div,或者使用一个显示额外数据的灯箱:网格面板中显示的元素很少属性单击时,它们将与其他一些属性一起显示在新窗口中,因此我无法使用Lightbox。在我的情况下,我有一个包含网格面板的主视图。当我单击网格面板的一个元素时,我想创建一个弹出窗口来显示所选元素的一些详细信息。为什么我要回到服务器和客户端?你可以打开一个单独的页面,这将是你从服务器请求的一个单独的操作,或者你可以将额外的数据隐藏在一个div中,当用户单击链接时,你可以显示该div,或者使用一个显示额外数据的灯箱:网格面板中显示的元素很少单击属性时,它们将与其他属性一起显示在新窗口中,因此我不能使用lightboxthank you Jorge,我可以使用部分视图创建弹出窗口吗?如果您可以使用处理弹出窗口和html内容的Jquery插件,我可以想象这是可能的。也许当一个插件处理回调时,在显示回调后,你可以将你的partialview加载到模式中(当然取决于模式)。谢谢你Jorge,我可以使用partialview创建弹出窗口吗?如果你可以使用处理弹出窗口和html内容的Jquery插件,我可以想象这是可能的。当插件处理回调时,在显示回调后,您可以将partialview加载到模式中(当然取决于模式)