簡體   English   中英

MVC遠程驗證正在向網址添加模型

[英]MVC Remote validation is adding model to url

我在一個字段上進行了遠程驗證,並且觸發了該錯誤,但是我收到一個500錯誤,說該參數在控制器方法為null時為null。 實際發生的是將模型名稱添加到url中,這使其無法找到該方法。

例:

學生模型

    [Remote("CheckExistingStudent", "Student", AdditionalFields = "FirstName", ErrorMessage = "This student already exists!")]
    public string LastName { get; set; }
    public string FirstName { get; set; }

由於某些原因,驗證觸發時創建的URL是:

http://localhost:4855/Student/CheckExistingStudent?Student.LastName=Waters&Student.FirstName=Nigel

注意學生。 在網址中。

我嘗試了幾種不同的方法簽名:

    public JsonResult CheckExistingResource(string FIrstName, string LastName)

    public JsonResult CheckExistingResource(StudentModel model)

第一個返回500錯誤(空參數)。 第二個通過Student模型的人進入方法,但是第一個和最后一個為空。

我確定這是因為我正在使用Html.BeginCollectionItem幫助程序來構建動態列表,以便用戶可以在同一頁面上輸入多個學生。 BCI幫助程序的一部分是,它使用唯一索引來重命名每個字段。

因此,我認為我無法阻止URL具有模型。 在里面。 有可能有模型。 在方法參數名稱中? 我試過了,它出錯了。

也許模型綁定前綴是按順序排列的:

public JsonResult CheckExistingResource([Bind(Prefix="Student")]StudentModel model)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM