繁体   English   中英

当我使用远程属性时,如何在页面上设置方法的参数?

[英]when I use remote attribute, how can I set the parameter for method on the page?

我使用远程属性检查“ExistUserName”。 我需要将旧用户名和新用户名发送到方法,如果等于旧用户名返回 false,如果等于新用户名返回 true。 如何在页面上设置方法的参数?

[Remote(action: "ExistUserNameForEdit", 
        controller: "User", 
        HttpMethod = "POST",
        AdditionalFields = "__RequestVerificationToken , old")]
public string uUserName { get; set; }

不如说我需要检查方法,如果字符串 userName 输入当前字符串 userName ,该方法不会给出否定消息,如果输入的字符串 userName 与当前 userName 不同,它会给出一个负面信息。 因为现在如果我不想给,当前的 userName 方法会给用户一个错误信息

MVC 支持不显眼的客户端验证,即一些属性会自动添加到视图引擎生成的 HTML 元素中。 然后这些属性由 MVC 框架中内置的 javascript 库 (jQuery) 解析和解释,执行实际验证。

当您使用[Remote]验证属性时,您是在告诉框架您要使用您在属性构造函数中提供的控制器操作方法来检查您使用该属性装饰的属性的验证。 这意味着您不必为验证方法设置参数:参数将与正在验证的属性具有相同的名称。

您添加到属性中的属性将在 Ajax 请求中自动转换为User控制器中的以下方法:

[HttpPost]
public JsonResult ExistUserNameForEdit(string uUsername, 
                                       string __RequestVerificationToken,
                                       string old)

为了使所有这些工作,请务必在您的项目中添加对jquery-validationjquery-validation-unobtrusive包的引用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM