2012-01-28 1 views
0

В основном я создаю веб-форму, где вы заполните все текстовые поля, а затем выберите категорию из выпадающего списка и нажмите submit. Основываясь на том, какая категория, которую вы выбираете, должна определять, в какую строку хранятся данные из текстовых полей. Я нахожусь на начальном уровне, когда дело доходит до C# и ASP.NET, и что-то не в моих утверждениях if, но я не могу понять как правильно их выполнять.Сохраните строку, основанную на выпадающем списке выбора

код ниже:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

public partial class _Default : System.Web.UI.Page 
{ 
string non_fiction; 
string fiction; 
string self_help; 



protected void Page_Load(object sender, EventArgs e) 
{ 


} 


protected void Submit_btn_Click(object sender, EventArgs e) 
{ 
    if (Cat_DropDownList.SelectedIndex = 0) 
    { 
     fiction = "Title: " + Titletxt.Text + " | " + "Description: " + Descriptiontxt.Text + " | " + "Price: " + Pricetxt.Text + " | " + "Quantity: " + Quantitytxt.Text; 
    } 

    if (Cat_DropDownList.SelectedIndex = 1) 
    { 
     non_fiction = "Title: " + Titletxt.Text + " | " + "Description: " + Descriptiontxt.Text + " | " + "Price: " + Pricetxt.Text + " | " + "Quantity: " + Quantitytxt.Text; 

    } 

    if (Cat_DropDownList.SelectedIndex = 2) 
    { 
     self_help = "Title: " + Titletxt.Text + " | " + "Description: " + Descriptiontxt.Text + " | " + "Price: " + Pricetxt.Text + " | " + "Quantity: " + Quantitytxt.Text; 
    } 
} 
} 

Кроме того, чтобы сохранить еще один пост, мне нужно, чтобы выяснить способ, чтобы они хранятся, так что я могу назвать «полные» строки и добавить их в другую на другой странице.

+0

Использование ' = 'вместо' == 'в условии' if' является синтаксической ошибкой. Разве вы этого не заметили? – Lion

ответ

1

Я бы объявить

StringBuilder non_fiction = new StringBuilder(); 
StringBuilder fiction = new StringBuilder(); 
StringBuilder self_help = new StringBuilder(); 

StringBuilder[] strings = null; 

и использовать их в качестве

protected void Page_Load(object sender, EventArgs e) 
{ 
    strings = new StringBuilder[] { fiction, non_fiction, self_help }; 
} 

protected void Submit_btn_Click(object sender, EventArgs e) 
{ 
    strings[Cat_DropDownList.SelectedIndex].Append("Title: " + Titletxt.Text + " | " + "Description: " + Descriptiontxt.Text + " | " + "Price: " + Pricetxt.Text + " | " + "Quantity: " + Quantitytxt.Text); 
} 

без if с и switch эс

0
if (Cat_DropDownList.SelectedIndex = 0) 
{ 
    fiction = "Title: " + Titletxt.Text + " | " + "Description: " + Descriptiontxt.Text + " | " + "Price: " + Pricetxt.Text + " | " + "Quantity: " + Quantitytxt.Text; 
} 

= это назначение - вы хотите, сравнение с == вместо этого - то же самое относится и к другим, если заявления. Кроме того, используя string.Format() бы сделать это утверждение гораздо более удобным для чтения (IMO):

if (Cat_DropDownList.SelectedIndex == 0) 
{ 
    fiction = string.Format("Title: {0} | Description: {1} | Price: {2} | Quantity: {3}", Titletxt.Text, Descriptiontxt.Text, Pricetxt.Text, Quantitytxt.Text); 
} 
1

первый вам не хватает == оператора, если условия. вам нужно использовать == оператора для comaparision

if (Cat_DropDownList.SelectedIndex == 0) 
    { 
     fiction = "Title: " + Titletxt.Text + " | " + "Description: " + Descriptiontxt.Text + " | " + "Price: " + Pricetxt.Text + " | " + "Quantity: " + Quantitytxt.Text; 
    } 



if (Cat_DropDownList.SelectedIndex == 1) 
    { 
     non_fiction = "Title: " + Titletxt.Text + " | " + "Description: " + Descriptiontxt.Text + " | " + "Price: " + Pricetxt.Text + " | " + "Quantity: " + Quantitytxt.Text; 

    } 

    if (Cat_DropDownList.SelectedIndex == 2) 
    { 
     self_help = "Title: " + Titletxt.Text + " | " + "Description: " + Descriptiontxt.Text + " | " + "Price: " + Pricetxt.Text + " | " + "Quantity: " + Quantitytxt.Text; 
    } 

 Смежные вопросы

  • Нет связанных вопросов^_^