0

テキスト ボックスがあり、そのテキストを分割し、その分割されたテキストを別のラベルに印刷します。テキストボックスのユーザーがRavi Bhushanと書いたとします。スペースの後にそれぞれ 2 つのラベルで吐き出したいとします (最初のラベルRaviと 2 番目のラベルBhushanで。ASP.net では c# を使用します)。

 protected void btnSubmit_Click(object sender, EventArgs e)
{
    string Name = txtName.Text.ToString();
    char[] seperators = new char[] {' '};


    string[] splitedName = Name.Split(seperators);
    foreach (string s in splitedName)
    {
        //System.Console.WriteLine(s);
        lblFst.Text = s.ToString();
    }


}

上記のコードを使用すると、Raviを印刷したいLblFstでBhushanが印刷されます

4

1 に答える 1

1

次のようにできます。

protected void btnSubmit_Click(object sender, EventArgs e)
{
   // string Name = txtName.Text.ToString();
    //char[] seperators = new char[] {' '};


    string[] splitedName =  txtName.Text.Split(' ');
    lblFst.Text = splitedName[0];
    lblSecond.Text = splitedName[1];

}

XSS 攻撃を防ぐには、文字列をラベルに割り当てる前にエンコードする必要があります。

lblFst.Text = HttpUtility.HtmlEncode(splitedName[0]);
lblSecond.Text = HttpUtility.HtmlEncode(splitedName[1]);

これを指摘してくれたMichael Liuに感謝します。

于 2013-10-27T17:42:44.123 に答える