存储基于字符串的下拉列表选择

时间:2012-01-28 18:29:53

标签: c# asp.net if-statement store

基本上我正在创建一个webform,您将填充所有文本框,然后从下拉列表中选择一个类别并点击提交。根据您选择的类别,应该指示文本框中的数据存储在哪个字符串中。当涉及到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;
    }
}
}

另外要保存另一篇文章,我需要找出一种方法来存储这些文件,这样我就可以调用“完整”字符串并将它们添加到另一页上的另一个字符串中。

3 个答案:

答案 0 :(得分:1)

首先你缺少==运算符if条件。你需要使用==运算符进行比较

 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;
    }

答案 1 :(得分: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);
}

没有ifswitch es

答案 2 :(得分:0)

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

=是分配 - 您希望与==进行比较 - 同样适用于其他if语句。同样使用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);
}