-1
我改變了我的路線的配置文件ID作爲字符串ModelState.Isvalid在將mvc路由標識更改爲字符串時拋出異常?
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Agent_default",
"Agent/{controller}/{action}/{id}",
new { Controller = "Home", action = "Index", id = "" }
);
}
現在,我可以讓我的網址,因爲我預計這樣的http://localhost:43425/Agent/Accounts/Edit/A64h9lStdffgt
但是當我保存模型,我得到一個例外。
引發異常ModelState.Isvalid - 假
話說:值「A64h9lStdffgt」不是有效的標識。如何解決這個問題? ModelState.Isvalid如何工作?爲什麼我得到這個錯誤?
感謝
請問你的模型有一個屬性名爲'id'?如果是這樣,它是什麼類型? – 2015-03-19 11:35:49
id類型是整數,我有其他參數'數字'這是字符串。我將'Number'傳遞給url而不是'Id'。 – Cherry 2015-03-19 11:39:24
因爲您的路由爲「代理/ {控制器}/{動作}/{id}」,您需要將路由定義更改爲「代理/ {控制器}/{操作}/{ number}「,或者將模型的id屬性改爲別的。 – 2015-03-19 11:46:43