簡體   English   中英

通過查詢字符串傳遞數組

[英]passing array via query string

我通過Request.QueryString["cityID"].ToString()傳遞一個javascript數組,但是它顯示了“無效參數”的錯誤:

blObj.addOfficeOnlyDiffrent(Request.QueryString["cityID"].ToString(),
                            Request.QueryString["selectTxtOfficeAr"].ToString());

方法聲明如下:

public string addOfficeOnlyDiffrent(string[] cityID, string selectTxtOfficeAr) { }

你的方法addOfficeOnlyDiffrent期望在cityID有一個字符串數組爭論,而你正在將一個string類型對象傳遞給你的方法。 我相信你的cityID是一個字符串,所以你可以從方法聲明中刪除數組。 在你的方法調用中。

Request.QueryString["cityID"].ToString()

上面代表一個字符串,而不是字符串數組。

如果查詢字符串包含字符串數組,則值可能是字符串表示形式,例如,由某個字符分隔。 要將該字符串傳遞給該方法,可以調用string.Split來拆分字符串以獲取數組。

編輯:從您的評論,您的查詢字符串包含:

Request.QueryString["cityID"].ToString() (123456,654311,987654) 

您可以執行以下操作。

string str = Request.QueryString["cityID"].ToString();
string[] array = str.Trim('(',')').Split(',');
blObj.addOfficeOnlyDiffrent(array,
                            Request.QueryString["selectTxtOfficeAr"].ToString());

如果查詢字符串參數值如下所示:“123456,654311,987654”

string[] ids = Request.QueryString["cityID"]
    .Split( new[] {","}, StringSplitOptions.RemoveEmptyEntries );

試試這個就這么簡單

 string city = Request.QueryString["cityID"];

 string[] cityID =city.Split(new char[] {','},StringSplitOptions.RemoveEmptyEntries);

你在城里得到這樣的字符串“123456,654311,987654”。 你在cityID中得到數組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM