2012-04-30 112 views
0

我希望一些幫助。我有一個字符串值 - 將返回爲Y或N.在頁面上,我想將其轉換並顯示爲頁面上的只讀複選框。ASP.NET MVC 3 - 顯示一個字符串值作爲布爾

我已經試過

@Html.CheckboxFor(model => Convert.ToBoolean(MyString)) 

,但它不喜歡這一點。有沒有人有任何想法,我如何實現這一目標。我需要在我的c#控制器頁面上對字符串進行轉換爲bool嗎?

+0

你想轉換爲布爾將評估' 「Y」'[如什麼(http://stackoverflow.com/a/8895568/570150)?你可以做至少是'Convert.ToBoolean(MyString的==「Y」)' – V4Vendetta

回答

1

你的模型執行轉換創建一個域。 CheckBoxFor需要Expression<Func<TModel, Boolean>>,因爲它需要根據表達式知道屬性名稱。

-1
string stringValue = "true"; 
bool value; 
bool.TryParse(stringValue, out value); 

或ASP.NET

@Html.CheckboxFor(model => C bool.Parse(model.MyString)) 
0

你爲什麼把它作爲一個Y/N值的字符串?

我不知道您是否可以使用CheckboxFor() - 您可能需要使用常規復選框,並確保它被禁用,並且值爲MyString == "Y",該值應基於您的存儲選項。

但是,更明智的做法是在進入數據庫的過程中將Y/N更改爲true/false,這樣可以更切實地使用數據。

+0

不幸的是它是一個第三方誰12/112發送數據回我和他們存儲Y/N爲字符串 –

0

什麼:

@ Html.CheckBoxFor(型號=> Model.MyString == 「Y」,新{@ReadOnly = 「只讀」})

這可能工作。

0

這種簡單的方式工作得很好

@Html.CheckBox("IsActive", Model.MyString == "Y" ? true : false)