Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.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

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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.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
Asp.net 与PHP脚本标记对应的.net MVC3_Asp.net_Asp.net Mvc 3 - Fatal编程技术网

Asp.net 与PHP脚本标记对应的.net MVC3

Asp.net 与PHP脚本标记对应的.net MVC3,asp.net,asp.net-mvc-3,Asp.net,Asp.net Mvc 3,我在一个PHP页面上有以下脚本标记: <script src='/get_items.php'></script> 在.Net MVC3视图中,理想情况下它的对应项是什么(比如我想调用一个动作方法)? PS:php脚本标记返回函数调用(通过Fiddler观察到),即: 注册表项此('123'、[“Title”、{“1111”:[“Title Text”、“”、“”、“1”、“5”、“0”、[]}]) 寄存器此('234',[“Title”,{“2222”:[“Ti

我在一个PHP页面上有以下脚本标记:

 <script src='/get_items.php'></script>

在.Net MVC3视图中,理想情况下它的对应项是什么(比如我想调用一个动作方法)?

PS:php脚本标记返回函数调用(通过Fiddler观察到),即:

注册表项此('123'、[“Title”、{“1111”:[“Title Text”、“”、“”、“1”、“5”、“0”、[]}])

寄存器此('234',[“Title”,{“2222”:[“Title Text”,“”,“”,,“1”,“0”,“6”,[])

注册表项此('345',[“Title”,{“3333”:[“Title Text”,“”,“”,,“1”,“8”,“0”,[])

(我不是问如何创建JSon脚本,只是问如何在视图中与php页面中的脚本标记对应。)

要在页面中添加C#/VB代码,可以使用.aspx中的标记。如果是返回值的单个函数调用,则可以使用它甚至对结果进行HTML编码。请使用以下详细信息查看此页面:


要专门加载操作,请使用HTML Helper方法@HTML.action。查看此页面了解更多信息:。

您可以使用
Url.Action
帮助程序。例如,在Razor视图中:

<script type="text/javascript" src="@Url.Action("GetItems", "Home")"></script>
而且,由于您显示的脚本示例类似于JSONP(它不完全是JSONP,因为您向回调传递了2个参数,并且多次调用回调),因此您可以编写一个自定义的
JsonpResult

public class JsonpResult : JsonResult
{
    public JsonpResult(object data)
    {
        Data = data;
        JsonRequestBehavior = JsonRequestBehavior.AllowGet;
    }

    public override void ExecuteResult(ControllerContext context)
    {
        var response = context.HttpContext.Response;
        response.Write("RegisterThis(");
        base.ExecuteResult(context);
        response.Write(")");
    }
}

然后让您的控制器操作返回此自定义
JsonpResult
类的实例,并将视图模型传递给它,以便序列化为JSON并作为参数传递给回调javascript函数。

Darin Dimitrov-您就是那个人!!!!!不仅在视图端您的答案是正确的,而且您在ActionMethod上返回JavaScript时添加的代码片段使我的返回(通过Fiddler)与我想要复制的PHP页面完全相同。再次感谢!!
public class JsonpResult : JsonResult
{
    public JsonpResult(object data)
    {
        Data = data;
        JsonRequestBehavior = JsonRequestBehavior.AllowGet;
    }

    public override void ExecuteResult(ControllerContext context)
    {
        var response = context.HttpContext.Response;
        response.Write("RegisterThis(");
        base.ExecuteResult(context);
        response.Write(")");
    }
}