remote机制的AdditionalFields

本文介绍如何在远程机制中使用AdditionalFields字段自定义数据并进行服务器验证,以避免重复项。通过示例代码展示了Controller、前端表单及验证过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有时为了在做远程机制时,多使用一个参数,可以加上AdditionalFields字段,该字段可以自定义数据,交给服务器验证。

样例代码:

类:

public class ColumnVM : BaseObj
    {
        [Required(ErrorMessage = "请填写栏目的名称"), Remote("CheckColumnName", "Course", ErrorMessage = "已存在相同栏目", AdditionalFields = "ActionMethod")]
        public string Name { get; set; }
        public string IsParent { get; set; }
        public string ParentId { get; set; }
        public string ImageURL { get; set; }
    }

控制器:

        public JsonResult CheckColumnName(string name, string actionMethod)//actionMethod是为了判断验证的方法是来自哪一个表单
        {
            bool result = false;
            //不包含文件夹名,则校验成功
            List<String> columnNames = columnBLL.GetAll().Select(a => a.Name).ToList();
            if (actionMethod == "Edit")
            {
                columnNames.Remove(name);
            }
            result = !columnNames.Contains(name);
            return Json(result, JsonRequestBehavior.AllowGet);
        }

前端:

 @using (Html.BeginForm("EditColumn", "Course", FormMethod.Post))//为了方便,本样例只写一个表单,另一个add表单内容相仿。
    {
        <input type="hidden" name="ActionMethod" value="Edit" />
        @Html.HiddenFor(a => a.Id)       
        <table class="t-tableAddAndEdit">
            <tr>
                <th>
                    项目
                </th>
                <th>
                    详情
                </th>
            </tr>
            <tr>
                <td>
                    当前目录
                </td>
                <td id="editDirectory" style="color: #269DDC">
                    Root>
                </td>
            </tr>
            <tr>
                <td>
                    课程栏目名称
                </td>
                <td id="editColumnName">
                    @Html.TextBoxFor(model => model.Name, new { @class = "editColumn" })
                    @Html.ValidationMessageFor(model => model.Name)
                </td>
            </tr>
        </table>
        <div style="height: 30px">
        </div>
        <input style="float: left; margin-left: 20px;" type="submit" value="确定" class="submitBtn" />
    }

该样例实现依据传过来的方法的不同(是add还是edit),做相应的操作,判断文件名是否存在重复问题。

转载于:https://www.cnblogs.com/Benjamin/archive/2013/03/27/2985181.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值