1

我这里有一个由输入框和文本区域组成的代码,但是当我要调用名称为 txtBxSearch 的输入框时。发生错误,显示“当前上下文中不存在名称 'txtBxSearch'”

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

<div style="padding-top:10px; padding-left:40px;"> <span class="fields">To:</span><br />
   <input type="text" id="txtBxSearch" name="txtBxSearch" class="border fields" 
    style="width:891px;" onclick="return txtBxSearch_onclick()" />

<div style="padding-top:10px; padding-left:40px;"><span class="fields">Text Message:</span><br />
<textarea id="TextArea1" onkeyup="textCounter(this,'counter',160);"  cols="20" rows="2" class="fields border" style="height:150px; width:95%;"></textarea>

</asp:Content>

我在 C# 中的代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Data.SqlClient;
using System.Web.Services;
using System.Web.UI.WebControls;

public partial class SMS : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
private string groupKeyword;
private string message;
private int priorityLevel;
private bool isDiagnosticCommand;
private bool concatenate;
private object confirmationDate;


protected void btnSend_Click(object sender, ImageClickEventArgs e)
    {

        groupKeyword = txtBxSearch.value;
        message = TextArea1.Value;
        priorityLevel = 253;
        //confirmationDate = DateTime.Now.ToShortDateString();
        isDiagnosticCommand = false;
        concatenate = false;


}
 }
4

4 回答 4

6

因为您的控件txtbxSearch是 HTML 控件,所以它不是 ASP.Net 控件。这就是为什么您无法在后面的代码中访问它的原因。

用你的文本框指定runat="server"属性,你应该可以在后面的代码中访问它。

您也可以在后面的代码中尝试:

string value = Request.Form["txtbxSearch"];

如果您不想runat="server"与输入控件一起使用。

于 2012-10-24T04:45:14.833 回答
0

您的代码需要是:

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

<div style="padding-top:10px; padding-left:40px;"> <span class="fields">To:</span><br />
   <input type="text" id="txtBxSearch" name="txtBxSearch" class="border fields" 
    style="width:891px;" onclick="return txtBxSearch_onclick()" runat="server" />
<div style="padding-top:10px; padding-left:40px;"><span class="fields">Text Message:</span><br />
<textarea id="TextArea1" onkeyup="textCounter(this,'counter',160);"  cols="20" rows="2" class="fields border" style="height:150px; width:95%;"></textarea>
</asp:Content>

注意 txtBxSearch 中的 runat=server

于 2012-10-24T04:47:38.837 回答
0

如果你想访问它,你只需要一个 runat="server" 属性

<div style="padding-top:10px; padding-left:40px;"> <span class="fields">To:</span><br />
       <input type="text" id="txtBxSearch" name="txtBxSearch" class="border fields" 
        style="width:891px;" onclick="return txtBxSearch_onclick()" runat="server" />
于 2012-10-24T04:49:04.430 回答
0

来自视觉工作室的快照

在 Visual Studio 中,将 GenerateMember 的值更改为 True 。然后您可以获取文本字段名称。它对我有用。

于 2018-10-25T05:43:16.847 回答