我環顧四周,找不到足夠的答案來解決我的問題。使用ASP MVC中的隱式運算符將字符串綁定到參數
我有這樣
public class Title
{
private readonly string _title;
public Title (string title) {
_title = title;
}
public static implicit operator Title(string title)
{
return new Title(title);
}
}
定義了一個名爲Title
一個包裝類,我在一個ASP MVC項目中使用這個類。現在我定義了一個像這樣的控制器:
public ActionResult Add(string title)
{
//stuff
}
並且這工作正常。 不過,我希望自動張貼的字符串值綁定到Title
構造,從而接受的Title
而不是string
作爲參數:
public ActionResult Add(Title title)
{
//stuff
}
然而,這是不行的,因爲我會得到錯誤: 參數字典中包含參數的空項,表示模型聯編程序無法將該字符串綁定到參數Title
。
的HTML負責發佈標題數據:存在兩個部分
<form method="post" action="/Page/Add" id="add-page-form">
<div class="form-group">
<label for="page-title">Page title</label>
<input type="text" name="title" id="page-title">
</div>
</form>
我的問題:
1.爲什麼不能做到這一點,我預計bodel粘結劑使用定義的隱式運算符來創建一個Title
實例。
2.有沒有一種方法可以在沒有明確創建模型綁定的情況下仍然完成獲取所需的行爲?
你能展示你的觀點嗎?你必須將你的視圖的模型設置爲標題類型不是字符串才能正常工作 –
將帖子發送到此操作的局部視圖不使用模型,它只是一個包含文本字段作爲輸入的表單,我將添加負責的HTML無論張貼。 – Glubus