Я ищу правильный код синтаксиса в C # для отображения результатов поиска из нескольких параметров в Gridview. Я только что сделал нечто подобное в VB.NET, но мне нужно обновить проект в C # .NET, и я не уверен:
1) правильный синтаксис кода в C # .NET (код в VB.NET)
2) как указать несколько параметров поиска в случае, если пользователь выбирает несколько параметров плана страхования, параметры нескольких возрастов и / или M из списка
3) отключить или включить возможность выбора нескольких параметров в списке. (Для полей State и Zip List я бы хотел отключить выбор нескольких параметров, а для Plan, Age и Carrier я бы хотел выбрать несколько параметров.
Вот что у меня есть на сервере в VB.NET, который должен быть в C # .NET:
Protected Sub SearchButton_Click(ByVal sender As Object, ByVal e As EventArgs) Handles SearchButton.Click
With Me.SqlDataSource1
.SelectParameters.Clear()
.ConnectionString = ConfigurationManager.AppSettings("PriceFinderConnectionString").ToString
.SelectCommand = "up_SelectPriceFinderResults" //calling stored procedure
.SelectParameters.Add("state_code", Me.lastname.Text)
.SelectParameters.Add("zip_code", Me.city.Text)
.SelectParameters.Add("plan_name", Me.state.Text)
.SelectParameters.Add("age", Me.state.Text)
.SelectParameters.Add("carrier_name", Me.donotmail.Text)
.SelectParameters(0).ConvertEmptyStringToNull = True
.SelectParameters(1).ConvertEmptyStringToNull = True
.SelectParameters(2).ConvertEmptyStringToNull = True
.SelectParameters(3).ConvertEmptyStringToNull = True
.SelectParameters(4).ConvertEmptyStringToNull = True
.SelectCommandType = SqlDataSourceCommandType.StoredProcedure
.CancelSelectOnNullParameter = False
End With
GridView2.DataBind()
End Sub
Вот код для хранимой процедуры:
PROCEDURE [dbo].[up_SelectPriceFinderResults]
-- Add the parameters for the stored procedure here
@state_code varchar(20)= NULL,
@zip_code varchar(20)= NULL,
@plan_code varchar(2)= NULL,
@insur_age varchar(2)= NULL,
@carrier_name varchar(20)= NULL,
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
IF len(@state_code)=0
BEGIN SET @state_code=NULL
END
IF len(@zip_code)=0
BEGIN SET @zip_code=NULL
END
IF len(@plan_name)=0
BEGIN SET @plan_code=NULL
END
IF len(@insur_age)=0
BEGIN SET @age=NULL
END
IF len(@carrier_name)=0
BEGIN SET @carrier_name=NULL
END
SELECT [state_code],
[zip_code],
[plan_code],
[carrier_name],
[insur_age],
[female_value],
[male_value]
CASE WHEN [female_value] is NULL OR 0
THEN 'N/A'
END AS 'female_value',
CASE WHEN [male_value] is NULL OR 0
THEN 'N/A'
END AS 'male_value',
FROM
[state_zipcode_plans]
WHERE
(([state_code] = @state_code OR @state_code IS NULL)
AND ([zip_code] = @zip_code OR @zip_code IS NULL)
AND ([plan_name] = @plan_name OR @plan_name IS NULL)
AND ([insur_age] = @insur_age OR @insur_age IS NULL)
AND ([carrier_name] = @carrier_name OR @carrier_name IS NULL))
ORDER BY
[plan_code], [female_value], [male_value]
END