Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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
Jquery 为什么;传递给getElementById()的空字符串;?_Jquery_.net_Model View Controller - Fatal编程技术网

Jquery 为什么;传递给getElementById()的空字符串;?

Jquery 为什么;传递给getElementById()的空字符串;?,jquery,.net,model-view-controller,Jquery,.net,Model View Controller,所以,我有一个非常奇怪的场景。下面是它是如何分解的。我有不同的角色授权用户能够在“管理工具”中编辑配置文件。这种能力中有一点似乎表现得非常愚蠢,我一辈子也弄不明白为什么!当您担任SuperUsersRole角色时,代码工作正常。但是,当您担任StandardUsers角色时,我得到了这个javascript错误,它失败了。还有一个问题,只有当代码没有在本地运行时,它才会失败。这是用MVC编写的,因此无需进一步ado,代码如下: 观点: @{ ViewBag.Title = "ChangeUser

所以,我有一个非常奇怪的场景。下面是它是如何分解的。我有不同的角色授权用户能够在“管理工具”中编辑配置文件。这种能力中有一点似乎表现得非常愚蠢,我一辈子也弄不明白为什么!当您担任SuperUsersRole角色时,代码工作正常。但是,当您担任StandardUsers角色时,我得到了这个javascript错误,它失败了。还有一个问题,只有当代码没有在本地运行时,它才会失败。这是用MVC编写的,因此无需进一步ado,代码如下:

观点:

@{
ViewBag.Title = "ChangeUsername";
}
@using (Ajax.BeginForm("ChangeUsername", "User", new { uniqueUserId = @Model.UserGuid }, new AjaxOptions() { InsertionMode = InsertionMode.Replace, UpdateTargetId = "changeUname" }))
{   
<div class="form_section">
    <h3>Update User Name:
    </h3>
    <div class="form_item">
        <div class="frm_label">
            <label for="username">
                @AdminResource.CurrentUserName
            </label>
        </div>
        <div class="item">
            <p>@Model.UserName</p>
        </div>
    </div>
    <div class="form_item">
        <div class="frm_label">
            <label for="username">
                @AdminResource.UserName
            </label>
        </div>
        <div class="item">
            @Html.TextBoxFor(model => model.NewUsername, new { id = "uName_change" }) @Html.ValidationMessageFor(model => model.NewUsername)
            @if (Model.AlternateUsernames != null && Model.AlternateUsernames.Count() != 0)
            {
                    <p>
                        <strong>Suggested usernames:</strong><br />
                        @foreach (var username in Model.AlternateUsernames)
                        {
                            <input type="radio" name="un" value="@username" onclick="setText(this);" />@username<br />
                        }
                    </p>
            }
        </div>
    </div>
    <div class="form_item">
        <div class="frm_label">
            <label for="password">
                &nbsp;</label>
        </div>
        <div class="item">
            <input type="submit" name="submit" value="Update Username" class="btn_primary" />
        </div>
    </div>
</div>
@Html.HiddenFor(model => model.UserGuid)
@Html.HiddenFor(model => model.UserName)

}
就像我之前说过的,这只发生在您担任某个角色时,并且代码没有在本地运行时,这让我感到困惑。提前谢谢

编辑** 这里是控制台指出错误来源的地方,这是一个jquery.unobtrusive.min.js文件:

/* **用于jQuery的不引人注目的Ajax支持库 **版权所有(C)微软公司。版权所有。 */
函数(a){var b=“unobtrusiveAjaxClick”,g=“unobtrusiveValidation”;函数c(d,b){var a=window,c=(d | | |“).split(“.”);而(a&&c.length)a=a[c.shift()];if(typeof a==”函数)返回a;b.push(d);返回函数.constructor.apply.apply(null,b)}函数d(a){返回a==”GET“| | | a=”POST”}函数f(b,a){返回b.a=”请求头重写(“HTTP-setx”)方法函数h(c,b,e){var d;if(e.indexOf(“应用程序/x-javascript”)!=-1)返回;d=(c.getAttribute(“数据ajax模式”)| |“).toUpperCase();a(c.getAttribute(“数据ajax更新”)。each(函数f,c){var e;切换(d){case”之前:e=c.firstChild;a(“”.html(b).contents()。each(函数(){c.insertBefore(这个,e)});break;case之后是“:a(“”)函数e(b,e){var j,k,g,i;j=b.getAttribute(“数据ajax方法”);if(j&&!window.confirm(j))返回;k=a(b.getAttribute(“数据ajax加载”);i=b.getAttribute(“数据ajax加载持续时间”)|0;a.extend(e,{type:b.getAttribute(“数据ajax方法”)|未定义,url:b.getAttribute(“数据ajax加载时间”))||未定义,beforeSend:function(d){var a;f(d,g);a=c(b.getAttribute(“数据ajax开始”),[“xhr”])。apply(这是参数);a!==false&&k.show(i);return a},complete:function(){k.hide(i);c(b.getAttribute(“数据ajax完成”),[“xhr”,“status”])。apply(这是参数)},成功:function(a,e,d){h(b,a,d.getResponseHeader(“内容类型”)|c(b.getAttribute(“data ajax success”),[“data”,“status”,“xhr”]).apply(这个,参数)},错误:c(b.getAttribute(“data ajax failure”),[“xhr”,“status”,“error”]);e.data.push({name:“X-request-With”,value:“XMLHttpRequest”});g=e.type.toUpperCase();if(!d(g)){e.type=“POST”;e.data.push({name:“X-HTTP-Method-Override”,value:g})函数i(c){var b=a(c).data(g);return!b | | | | b.validate()}a(“a[data ajax=true]”)live(“click”,函数(a){a.preventDefault();e(this,{url:this.href,type:“GET”,data:[]));a(“form[data ajax=true]input[type=image]”。live(“click”,函数(c){var g=c.target name,d=a(c.target),f=d.parents)([form form 0],e=d.offset());data:[]name:[](c.pageX-e.left)},{name:g+“.y”,value:Math.round(c.pageY-e.top)};setTimeout(函数(){a(f).removeData(b)},0});a(“form[data ajax=true]:submit”).live(“click”,函数(c){var e=c.target.name,d=a(c.target).父函数(形式)[0];a(形式)};数据(b,e?[{{{name:e,value:c.target value:c.target value:c.value]:[]:[];超时(函数())(形式){a(形式){a(形式)};removeData a(形式)].live(“submit”,函数(d){var c=a(this).data(b)|【】;d.preventDefault();if(!i(this))返回;e(this,{url:this.action,type:this.method | |“GET”,数据:c.concat(a(this.serializeArray())})(jQuery)

能否发布有关错误的相关代码:
“传递给getElementById()的空字符串”?
???这是相关代码?在提交表单以更改用户名时出错…但哪行会引发此错误?发布呈现的客户端代码会更相关它会在jquery.unobtrusive.min.js文件中引发错误。它已缩小,不确定如何在此处正确显示此错误。。。
namespace AdminTool.Models.ViewModel
{
public class ChangeUsername
{
    [Required(ErrorMessageResourceType = typeof(AdminResource), ErrorMessageResourceName = "UserNameErrorRequired")]
    [Display(ResourceType = typeof(AdminResource), Name = "UserName", Description = "UserNameDescription")]
    [NotRegEx(@"^[Mm][rR][Ii]\d{4}|^[mM]\d{6}", ErrorMessageResourceType = typeof(AdminResource), ErrorMessageResourceName = "UserNameAlreadyExists")]
    [RegularExpression(@"^([a-zA-Z0-9!\@#\$%\^&\(\)-_\+\.'`~/=\?\{\}\|]){6,255}$", ErrorMessageResourceType = typeof(AdminResource), ErrorMessageResourceName = "UserNameFormatError")]
    public string NewUsername { get; set; }

    public String UserName { get; set; }

    public Guid UserGuid { get; set; }

    public List<string> AlternateUsernames { get; set; } 
}
}
[HttpGet]
    [ClaimsPrincipalPermission(System.Security.Permissions.SecurityAction.Demand, Resource = Resources.User, Operation = Operations.Edit)]
    public ActionResult ChangeUsername(Guid uniqueUserId)
    {
        User user = UserManager.GetUser(uniqueUserId);
        AuthorizationHelper.ConfirmAccess(Resources.User, Operations.Edit, user);
        ChangeUsername model = new ChangeUsername(){UserGuid = user.Identifier,NewUsername = user.Username};

        return View(model);
    }

    [HttpPost]
    [ClaimsPrincipalPermission(System.Security.Permissions.SecurityAction.Demand, Resource = Resources.User, Operation = Operations.Edit)]
    public ActionResult ChangeUsername(ChangeUsername changeUsername)
    {
        User usr = UserManager.GetUser(changeUsername.UserGuid);
        AuthorizationHelper.ConfirmAccess(Resources.User, Operations.Edit, usr);

        if (!ModelState.IsValid)
        {
            return View(changeUsername);
        }
        //setup request
        SupportUser su = (SupportUser)ViewData["SupportUser"];
        RequestData rqd = new RequestData(GetApplicationIdentifer(usr), su.clientIP, su.lanID);
        UserUsernameChangeRequest request = new AdminUsernameChangeRequest(rqd,usr,changeUsername.NewUsername);

        UserUsernameChangeResponse response = UserManager.ChangeUserUsername(request);

        if (response.Status == UserProcessorStatus.Success)
        {
            var message = ("User has been updated successfully");
            TempData["message"] = message;
            return PartialView("_NewUsername", changeUsername);
        }

        switch (response.Status)
        {
            case UserProcessorStatus.DuplicateUsername:
                {
                    ModelState.AddModelError("NewUsername", "Duplicate username");
                    changeUsername.AlternateUsernames = response.AlternateUsernames;
                    return PartialView(changeUsername);
                }
            default:
                {
                    ModelState.AddModelError("NewUsername", String.Format("An unexpected error occured. Error Code:{0}, Message:{1}", response.Status, response.Message));
                    return PartialView(changeUsername);  
                }
        }


    }