Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.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/csharp/339.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 如何使用umbraco中的ajax将节点作为参数和其他类型传递给函数_Javascript_C#_Asp.net_Ajax_Umbraco - Fatal编程技术网

Javascript 如何使用umbraco中的ajax将节点作为参数和其他类型传递给函数

Javascript 如何使用umbraco中的ajax将节点作为参数和其他类型传递给函数,javascript,c#,asp.net,ajax,umbraco,Javascript,C#,Asp.net,Ajax,Umbraco,我试图将一个节点和两个字符串作为参数传递给umbraco中的JsonResult。调试该方法时,节点变量没有值。下面是javascript function newsSub() { if(validateForm('newsSubscriptionForm') == true) { var name = document.forms["newsSubForm"]["name"].value;//The input name

我试图将一个节点和两个字符串作为参数传递给umbraco中的JsonResult。调试该方法时,节点变量没有值。下面是javascript

        function newsSub() {
        if(validateForm('newsSubscriptionForm') == true)
        {
            var name = document.forms["newsSubForm"]["name"].value;//The input name
            var email = document.forms["newsSubForm"]["email"].value;//The input email
            var node = '@SiteNode';
            $.ajax({
                type: 'POST',
                url: '/Umbraco/Surface/AjaxSurface/Newsletter',
                data: {"name":name, "email":email, "node":node},
                dataType: 'json',
                cache:false,
                success:function(data){
                    var success = data.Success;
                    var test = data.test;
                    if(success == true){
                        document.getElementById("sendTrue").style.display='inline';
                    }
                    else{
                        document.getElementById("sendFalse").style.display='inline';
                    }
                    //success:function (result) {//Om de waarde van een string op te halen die naar een jsonresult geretourneerd wordt.
                    //    alert(result);
                }
            })
            document.getElementById("newsSubscriptionForm").style.display='none';
        }
    };
这是c#

publicJSONResult时事通讯(字符串名称、字符串电子邮件、节点)
{
INode=node;
if(ModelState.IsValid)
{
NewsSubscriptionFormModel=新的NewsSubscriptionFormModel();
model.Email=电子邮件;
model.Name=名称;
Dictionary userData=newdictionary();
foreach(typeof(newsSubscriptionFormModel).GetProperties()中的var prop)
{
if(prop.GetValue(model,null)!=null)
{
userData.Add(prop.Name,(prop.GetValue(model,null)?“”)。ToString();
}
}
//返回Json(userData[“Name”],JsonRequestBehavior.AllowGet);//Om te kijken of alles dat optgestuurd wordt wel waarde heeft。
if(Mailing.GenerateAndSendMail(userData,iNode))
{
返回Json(新的{Success=true});
}
}
返回Json(新的{Success=false});
}
我可能需要转换数据之后必须键入的内容: 但是怎么做呢?那是不可能的。 我建议您只发送节点id,然后在c#中查找节点

因此,请在javascript中查找id:

var nodeId = @CurrentPage.Id;
...
data: {"name":name, "email":email, "nodeId":nodeId},
C#:


修好了!!像这样:var节点=新节点(nodeId);INode=node;谢谢你,亲爱的先生!!我希望你能成功@devKoen很酷,成功了!请接受答案,以便其他人可以看到其关闭。
var nodeId = @CurrentPage.Id;
...
data: {"name":name, "email":email, "nodeId":nodeId},
public JsonResult Newsletter(String name, String email, int nodeId)
    {
        var node = new Node(nodeId);
....