【问题标题】:Store a string based up dropdownlist selection存储基于下拉列表选择的字符串
【发布时间】:2012-02-21 07:01:54
【问题描述】:

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

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

【问题讨论】:

  • if 条件中使用= 而不是== 是语法错误。你没注意到吗?

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


【解决方案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);
}

没有ifs 和switches

【讨论】:

    【解决方案2】:

    首先,您在 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;
        }
    

    【讨论】:

      【解决方案3】:
      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);
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-05-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-04
        • 2019-09-12
        相关资源
        最近更新 更多