C# Button.OnClientClick问题
我会发布更多的代码来显示我到底想做什么, 我使用编程代码而不是标记添加按钮,但OnClick无法工作(出现以下错误: System.Web.UI.WebControl.Button.OnClick(System.EventArgs)由于其保护级别而不可访问 我就是不明白为什么这样不行C# Button.OnClientClick问题,c#,.net,asp.net,C#,.net,Asp.net,我会发布更多的代码来显示我到底想做什么, 我使用编程代码而不是标记添加按钮,但OnClick无法工作(出现以下错误: System.Web.UI.WebControl.Button.OnClick(System.EventArgs)由于其保护级别而不可访问 我就是不明白为什么这样不行 有谁能帮我吗?您需要使用OnClick进行服务器端单击,而不是OnClientClick 或者您可以内联使用它> <asp:Button id="btnopslaan" runat="server' OnCl
有谁能帮我吗?您需要使用
OnClick
进行服务器端单击,而不是OnClientClick
或者您可以内联使用它>
<asp:Button id="btnopslaan" runat="server' OnClick="btnopslaanClick" />
您需要使用
OnClick
进行服务器端单击,而不是OnClientClick
或者您可以内联使用它>
<asp:Button id="btnopslaan" runat="server' OnClick="btnopslaanClick" />
btnopslanclick
应该是客户端,在中。aspx
本身有:
<script type="text/javascript">
function btnopslaanClick() {
alert("success");
}
</script>
函数btnopslaanClick(){
警惕(“成功”);
}
btnopslaanClick
应该是客户端,在中。aspx
本身有:
<script type="text/javascript">
function btnopslaanClick() {
alert("success");
}
</script>
函数btnopslaanClick(){
警惕(“成功”);
}
或您对服务器进行了一次回发呼叫
aspx写入:
<asp:Button runat="server" ID="buttonOpslaan" Text="opslaan" ></asp:Button>
或使用AutoEventWireUp(推荐)处理它,如:
或者在ASPX中使用javascript在客户端处理它(它不会到达服务器)
功能按钮单击{
警报(“测试”);
返回false;
}
Net的版本)
因此,只添加一次控件是永远不会起作用的。
这意味着您必须在每次回发时重建控件。我的首选方法是在某处存储一个列表/文档,说明每次必须创建哪些控件。可能的位置从差到好(IMHO):
- 会议
- 视图状态
- 缓存
- XML/IO
- 数据库
毕竟,您正在将“数据”发布到服务器(表示控件),并希望将其保存以供进一步使用
如果要创建的控件没有那么复杂,您可以实现一个工厂模式,如WebControlFactory,它只在列表或字典中存储一些属性,每次读取这些属性都会重新创建控件(一次又一次,一次又一次)或您对服务器进行了一次回发呼叫。在你的
aspx写入:
<asp:Button runat="server" ID="buttonOpslaan" Text="opslaan" ></asp:Button>
或使用AutoEventWireUp(推荐)处理它,如:
或者在ASPX中使用javascript在客户端处理它(它不会到达服务器)
功能按钮单击{
警报(“测试”);
返回false;
}
Net的版本)
因此,只添加一次控件是永远不会起作用的。
这意味着您必须在每次回发时重建控件。我的首选方法是在某处存储一个列表/文档,说明每次必须创建哪些控件。可能的位置从差到好(IMHO):
- 会议
- 视图状态
- 缓存
- XML/IO
- 数据库
毕竟,您正在将“数据”发布到服务器(表示控件),并希望将其保存以供进一步使用
如果要创建的控件没有那么复杂,您可以实现一个工厂模式,如WebControlFactory,它只在列表或字典中存储一些属性,每次读取这些属性都会重新创建控件(一次又一次,一次又一次)这就是我所想的,但当我使用它时,会出现如下错误:“System.Web.UI.WebControls.Button.OnClick(System.EventArgs)”无法访问到其保护级别。这就是我所想的,但当我使用它时,会出现如下错误:“System.Web.UI.WebControls.Button.OnClick(System.EventArgs)“无法将deu访问到其保护级别。”无法使用aspx,因为我使用编程代码添加按钮,而不是aspx@Nico根本不相关。无论按钮是如何创建的,如果你想使用OnClientClick
,你需要在页面中包含JS代码。不能使用aspx,因为我使用编程代码添加按钮,而不是aspx@Nico根本不相关。按钮是如何创建的并不重要,如果你想使用OnClientClick
,你需要在页面中包含JS代码。这就是我所想的,但当我使用它时,会出现以下错误:“System.Web.UI.WebControls.button.OnClick(System.EventArgs)“无法将deu访问到其保护级别。”这是我所认为的,但当我使用它时,会出现以下错误:“System.Web.UI.WebControl.Button.OnClick(System.EventArgs)”无法将deu访问到其保护级别。“无法使用aspx,因为我使用编程代码添加按钮。”。我尝试了EventHandles,但仍然无法工作:/。尝试重新编写按钮的litlle代码,正如您所说的“完全从代码隐藏中执行”,但我仍然单击按钮刷新页面,清除整个页面,但没有按我的要求执行操作(尝试了测试标签,然后单击testlabel.text=“成功”,但olso没有执行任何操作)用什么方法创建按钮?什么是添加按钮(BTNOPSLAN)?有一个面板,我把标签,单选按钮和一些按钮(因为标签的数量等是不固定的)。方法:ddlModel_SelectedIndexChanged->Dropdownlist。addbutton(btnopslaan)是我用来添加按钮的方法,我知道我用了很难做到的方法:PI会把页面放到网上,这样你就可以清楚地看到我在做什么。我不能使用aspx,因为我使用编程代码来添加按钮。我尝试了EventHandles,但仍然无法工作:/。尝试重新编写按钮的小部分代码,正如您所说的“完全从代码隐藏中执行”,但我仍然单击按钮刷新页面,清除整个页面,但没有按我的要求执行(尝试了测试标签,然后单击testlabel.text=“成功”,但olso什么也不做)
protected void Page_Init(object sender, EventArgs e)
{
buttonOpslaan.Click += new EventHandler(buttonOpslaan_Click);
}
// mind: this method can be private
void buttonOpslaan_Click(object sender, EventArgs e)
{
//do something
}
<asp:Button runat="server"
ID="buttonOpslaan"
OnClick="buttonOpslaan_Click"
Text="opslaan" ></asp:Button>
// mind: this method cannot be private, but has to be protected at least.
protected void buttonOpslaan_Click(object sender, EventArgs e)
{
//do something
}
// note: buttonOpslaan must have an (autoassigned) ID.
protected void Page_Init(object sender, EventArgs e)
{
Button buttonOpslaan = new Button();
buttonOpslaan.Text = "opslaan!";
buttonOpslaan.Click += new EventHandler(buttonOpslaan_Click);
form1.Controls.Add(buttonOpslaan);
}
protected void buttonOpslaan_Click(object sender, EventArgs e)
{
//do something
}
<script type="text/javascript">
function buttonOpslaan_Click(){
alert("test");
return false;
}
</script>
<asp:Button runat="server"
ID="buttonOpslaan"
OnClientClick="buttonOpslaan_Click()"
Text="opslaan" ></asp:Button>