gpt4 book ai didi

c# - 有更好的方法吗? ASP.NET/C#/代码隐藏

转载 作者:行者123 更新时间:2023-11-30 15:35:17 25 4
gpt4 key购买 nike

我创建了这个方法,所以它会更新页面上的标签。我们这里有一堆复选框,指示此人是否有任何限制。当用户登录并看到复选框时,我希望标签显示已选中的复选框,以便用户更容易看到此人有哪些限制。

我是 C# 和 ASP.NET 的新手,我想知道,有没有更好/更简单/更有效的方法来解决这个问题?我发现的第一件事是 String.Concat,这就是我在下面的代码中使用它的原因。此外,我似乎无法在后面的代码中使用返回行 (a (br/))(我确实知道 (br/) 在后面的代码中不起作用)。我尝试了很多不同的方法,但似乎都不起作用,这就是为什么我在字符串中添加了一个逗号。有什么建议吗?

protected void LblLimitsLabel()
{
String strBend = "", strDryDust = "", strStanding = "", strHearing = "", strHeights = "", strHepatitis = "", strLifting = "", strMachines = "", strPulling = "", strPushing = "", strReaching = "", strSeizures = "", strSuddenTemp = "", strVisual = "", strWalking = "", strWheelchair = "", strHelmet = "", strOther = "";

if (chkBend.Checked)
strBend = "Bend/Stoop, ";

if (chkDryDusty.Checked)
strDryDust = "Dry/Dusty, ";

if (chkHearing.Checked)
strHearing = "Hearing, ";

if (chkHeights.Checked)
strHeights = "Heights, ";

if (chkHepatitis.Checked)
strHepatitis = "Hepatitis, ";

if (chkLifting.Checked)
strLifting = "Lifting, ";

if (chkMachines.Checked)
strMachines = "Machines, ";

if (chkPulling.Checked)
strPulling = "Pulling, ";

if (chkPushing.Checked)
strPushing = "Pushing, ";

if (chkReaching.Checked)
strReaching = "Reaching, ";

if (chkSeizures.Checked)
strSeizures = "Seizures, ";

if (chkStanding.Checked)
strStanding = "Standing, ";

if (chkSuddenTemp.Checked)
strSuddenTemp = "Sudden Temp. Changes, ";

if (chkVisual.Checked)
strVisual = "Visual, ";

if (chkWalking.Checked)
strWalking = "Walking, ";

if (chkWheelchair.Checked)
strWheelchair = "Wheelchair, ";

if (chkHelmet.Checked)
strHelmet = "Helmet, ";

strOther = TextBox1.Text;

LblLimits.Text = String.Concat(strBend, strDryDust, strStanding, strHearing, strHeights, strHepatitis, strLifting, strMachines, strPulling, strPushing, strReaching, strSeizures, strSuddenTemp, strVisual, strWalking, strWheelchair, strHelmet, strOther);
}

最佳答案

  1. 使用 StringBuilder建立一个字符串。使用 AppendLine 创建一个新行。
  2. 将您的 if 语句放在单行中。像这样的简短 if 语句会更容易阅读。
  3. 如果您需要在 ASP.NET 标签中出现新行,您需要嵌入 <br/>标签。

    StringBuilder SB = new StringBuilder();

    if (chkBend.Checked) SB.AppendLine("Bend/Stoop, ");
    if (chkDryDusty.Checked) SB.AppendLine("Dry/Dusty, ");
    // and so on

    SB.Append(TextBox1.Text);
    LblLimits.Text = SB.ToString();

当您对 C# 和 ASP.NET 更加熟悉时,我建议您转向数据绑定(bind)控件,例如 CheckBoxList

引用资料

关于c# - 有更好的方法吗? ASP.NET/C#/代码隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15165018/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com