如果有使用checkboxlist在mono中會發現一是裡面的值無法正常儲存,可參考以下解法:
解法1:
在web.config中的<system.web>區塊中加上此行
<pages controlRenderingCompatibilityVersion="3.5" />
註.但有可能影響到其他有用到4.0以上的元件呈現,例如:MenuItem
解法2:
在Page_PreRender中加上以下函式
protected void Page_PreRender(object sender, EventArgs e)
{
setCheckBoxStates([你的checkboxlist名稱]);
}
private void setCheckBoxStates(CheckBoxList cbl)
{
if (IsPostBack)
{
string cblFormID = cbl.ClientID.Replace("_", "$");
int i = 0;
foreach (var item in cbl.Items)
{
string itemSelected = Request.Form[cblFormID + "$" + i];
if (itemSelected != null && itemSelected != String.Empty)
((ListItem)item).Selected = true;
i++;
}
}
}
這只能保持你的選取狀態是正常的,但選取的值如果用一般寫法仍會無法儲存,所以同理改寫成以下方式
string calids = "";
string cblFormID = [你的checkboxlist名稱].ClientID.Replace("_", "$");
int i = 0;
foreach (var item in [你的checkboxlist名稱].Items)
{
string itemSelected = Request.Form[cblFormID + "$" + i];
if (itemSelected != null && itemSelected != String.Empty)
if (calids == "")
{
calids = itemSelected;
}
else
{
calids += "," + itemSelected;
}
i++;
}
註.checkboxlist的命名規則不可包含有「_」底線,不然會一樣被過濾成$導致無法正常運作
訂閱:
張貼留言 (Atom)
熱門文章
-
解決辦法:(沒實際試過僅供參考) 1. ASP.NET預設連結資料庫的Connection數為100個,在Connection String裡加入Max Pool Size=xxx的設定 2. 重啓SQL資料庫的服務 查詢目前DB連線數 USE mast...
-
===終端機命令列上執行=== 版本查詢:mysql --version MariaDB啟動的參數內容:mysqld --verbose --help === MY SQL 內執行=== 顯示目前MariaDB的設定值:show variables;show...
-
執行Eclipse時出現 ADB server didn't ACK 的錯誤時可以參考 Error : ADB Server Didn't ACK on Windows 另外要找哪一個PID佔用的5037(ADB的Port)有時會很長一串,如果要分...
-
修改 /etc/mysql/my.cnf sudo vim /etc/mysql/my.cnf 在[mysqld]中加上此行 ============================= [mysqld] character-set-server=utf8mb4...
-
2015.06.07 安裝mono sudo apt-get install mono-complete sudo apt-get install mono-runtime ==================下面是舊文章僅供參考================...
-
首先檢查Eclipse版本 我的版本是Kepler Service Release 2 接下來複製要更新語言包的網址 http://www.eclipse.org/babel/downloads.php 再來打開Eclipse工具...
-
先安裝Python的Mysql連線模組(請用管理員身份開啟命令字元) pip install MySQL-python 出現錯誤,必須要安裝Microsoft Vistual C++ 14.0 https://www.micros...
-
開發時,有時需要倒一下線上機的資料來測試時 線上機( Ubuntu ) : mysql -u root -p SELECT * FROM [TABLE_NAME] INTO OUTFILE "/PATH/FILE_NAME.TXT"; 本地...
-
終於找到UBUNTU 15.04開機進入COMMAND LINE 的方式了(趕緊記錄一下) sudo vim /etc/default/grub 1. 將 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 註...
沒有留言:
張貼留言