第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何處理ASP.NET MVC表單中的復(fù)選框?

如何處理ASP.NET MVC表單中的復(fù)選框?

ibeautiful 2019-07-31 14:42:31
如何處理ASP.NET MVC表單中的復(fù)選框?您最好的選擇是搜索更新的問題,或搜索下面的答案,尋找您的MVC的特定版本,因?yàn)楝F(xiàn)在許多答案已經(jīng)過時。如果您確實(shí)找到適合您的版本的答案,請確保答案包含您正在使用的MVC版本。(原始問題從下面開始)這對我來說似乎有點(diǎn)奇怪,但就我所知,這就是你如何做到的。我有一組對象,我希望用戶選擇其中一個或多個。這對我說“形式有復(fù)選框”。我的對象沒有任何“選擇”的概念(它們是通過反序列化wcf調(diào)用形成的基本POCO)。所以,我做了以下事情:public class SampleObject{   public Guid Id {get;set;}   public string Name {get;set;}}在視圖中:<%     using (Html.BeginForm())     {%>  <%foreach (var o in ViewData.Model) {%>    <%=Html.CheckBox(o.Id)%>&nbsp;<%= o.Name %>  <%}%>  <input type="submit" value="Submit" /><%}%>并且,在控制器中,這是我可以看到用來檢查用戶檢查的對象的唯一方法:public ActionResult ThisLooksWeird(FormCollection result){   var winnars = from x in result.AllKeys           where result[x] != "false"           select x;   // yadda}它首先是怪異的,其次,對于用戶檢查的那些項(xiàng),F(xiàn)ormCollection將其值列為“真假”而不是真實(shí)。顯然,我錯過了一些東西。我認(rèn)為這是基于這樣的想法構(gòu)建的,即在html表單中作用的集合中的對象是使用UpdateModel()或通過ModelBinder 更新的。但我沒有為此設(shè)置對象; 這是否意味著這是唯一的方法?還有另一種方法嗎?
查看完整描述

3 回答

?
茅侃侃

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超21個贊

HtmlHelper添加一個隱藏的輸入來通知控制器有關(guān)未經(jīng)檢查的狀態(tài)。所以要有正確的檢查狀態(tài):

bool bChecked = form[key].Contains("true");


查看完整回答
反對 回復(fù) 2019-07-31
?
哈士奇WWW

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超6個贊

如果您想知道為什么他們將隱藏字段放入與復(fù)選框相同的名稱,原因如下:

來自源代碼MVCBetaSource \ MVC \ src \ MvcFutures \ Mvc \ ButtonsAndLinkExtensions.cs的評論

<input  type="hidden".../>為復(fù)選框添加附加內(nèi)容。這解決了未在請求中發(fā)送未選中復(fù)選框的情況。發(fā)送隱藏的輸入可以在提交請求時知道頁面上存在復(fù)選框。

我想在幕后他們需要知道這個用于綁定控制器動作方法上的參數(shù)。然后,我可以使用三態(tài)布爾值(綁定到可以為空的bool參數(shù))。我沒試過,但我希望他們做了什么。


查看完整回答
反對 回復(fù) 2019-07-31
  • 3 回答
  • 0 關(guān)注
  • 1638 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號