0
我想爲我的aspx頁面添加一個ALL
搜索功能。問題是我不知道如何正確地做到這一點。這是據我可以走了,這裏的後面的代碼:如何在asp.net中包含「全部」搜索選項?
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
DataTable dtTransactionCategory = clsTransactionCategory.GetTransactionCategory(Helper.LogID, Helper.OrgID, Helper.SiteID, 0, string.Empty);
ddlTransactionCategoryDesc.DataSource = dtTransactionCategory;
ddlTransactionCategoryDesc.DataTextField = "TransactionCategoryDesc";
ddlTransactionCategoryDesc.DataValueField = "TransactionCategoryID";
ddlTransactionCategoryDesc.DataBind();
ddlTransactionCategoryDesc.Items.Insert(0, new ListItem("All"));
ddlTransactionCategoryInput.DataSource = dtTransactionCategory;
ddlTransactionCategoryInput.DataTextField = "TransactionCategoryDesc";
ddlTransactionCategoryInput.DataValueField = "TransactionCategoryID";
ddlTransactionCategoryInput.DataBind();
logID = CommonFunctions.StringToInt(Session[Constants.SessionLogID].ToString());
orgID = 1;
siteID = 1;
ddlTransactionCategoryDesc.SelectedValue = Convert.ToString(ddlTransactionCategoryDesc);
txtTransactionDesc.Text = string.Empty;
BindData();
}
}
和存儲過程,應該它需要:
ALTER PROC [dbo].[spMSTransaction_Get]
@OrgID INT,
@SiteID INT,
@TransactionCategoryID INT,
@TransactionCategoryDesc varchar (300),
@TransactionDesc varchar(300)
AS
SET NOCOUNT ON
SELECT mst.[OrgID],
mst.[SiteID],
mst.[TransactionID],
mst.[TransactionCategoryID],
mstc.[TransactionCategoryDesc],
mst.[TransactionDesc],
mst.[IsActive],
[master].dbo.fnConvertUTCToLocalTimeZone (mst.[CreatedDate]) as [CreatedDate],
mst.[CreatedBy],
[master].dbo.fnConvertUTCToLocalTimeZone (mst.[ModifiedDate]) as [ModifiedDate],
mst.[ModifiedBy]
FROM [dbo].[MSTransaction] AS mst
INNER JOIN [dbo].[MSTransactionCategory] AS mstc
ON mst.OrgID = mstc.OrgID AND mst.SiteID = mstc.SiteID AND mst.TransactionCategoryID = mstc.TransactionCategoryID
WHERE (mst.[OrgID] = @OrgID OR @OrgID = 0)
AND (mst.[SiteID] = @SiteID OR @SiteID = 0)
AND (mst.[TransactionCategoryID] = @TransactionCategoryID OR @TransactionCategoryID = 0)
AND (mst.[TransactionDesc] LIKE '%' + @TransactionDesc + '%')
AND (mst.[isActive] = 1)
我已經把ddlTransactionCategoryDesc.Items.Insert(0, new ListItem("All"));
但它返回了一個錯誤:
Input string was not in a correct format.
任何想法我需要修復,我應該怎麼做才能使ALL
搜索功能?謝謝。
我試過你的解決方案,它會拋出一個錯誤:**'不能從'int'轉換爲'string''**任何想法? –
使用ListItem(「All」,「0」)。我錯誤地忘記將值設置爲一個字符串,這是ListItem的要求。我也會編輯答案。 – SollyM
作品魅力(+1),謝謝! –