【问题标题】:ASP.NET passing variables from web form to code behindASP.NET 将变量从 Web 表单传递到代码后面
【发布时间】:2014-08-29 17:35:00
【问题描述】:

我正在为我的公司开发一个 Web 应用程序,但我遇到了一个非常简单的问题,我现在不知道如何解决。我在互联网上搜索了很多,但我找不到任何东西。 我需要从 asp.net 控件中调用代码隐藏方法来传递变量。

这是后面代码中的方法(file.aspx.cs):

protected void SayHello(object sender, EventArgs e, String RandomName)
{
  Response.Write(PrintedString);
 }

这是一个通过 OnLoad 事件调用方法的 asp.net 控件:

<asp:Label ID="Label1" runat="server" Text="Hello" OnLoad="Visibility('ciao mamma')"></asp:Label>

这个简单的东西有什么问题?我哪里错了?

请回答这个简单的问题,它快把我逼疯了……谢谢。

【问题讨论】:

  • 在您的代码隐藏的 page_load 中设置标签文本?

标签: asp.net function variables webforms behind


【解决方案1】:

您可以通过以下方式将参数传递给事件处理程序,但请注意它仅适用于 asp 按钮。

<asp:Button ID="btn" runat="server" Text="Click" OnCommand="btn_Command" CommandArgument="YourArgumentValue"/>

然后在文件后面的代码中你这样做:

protected void btn_Command(object sender, CommandEventArgs e)
{
   Response.Write(e.CommandArgument);
}

它仅适用于 asp 按钮,因为它们具有 onCommand 属性。

只要您单击按钮,文件代码后面的代码就会被执行。

希望这会有所帮助。

【讨论】:

  • 谢谢,这就是我正在寻找的。所以我意识到我不能像在javascript中那样以这种方式传递参数:&lt;asp:Button ID="btn" runat="server" Text="Click" OnClick="SayHello(parameters)"/&gt;
  • @MattiaQuaglietta 是的,我想是的,我尝试了各种方式但都失败了。
【解决方案2】:

你可以在Page_Load事件上设置标签的值

您可以使用以下代码。

protected void Page_Load(object sender, EventArgs e)

{

   string UserName="test";
   Label1.Text="Hello "+ UserName;

}

【讨论】:

  • @Slippery Pete 如果以上答案有用,请点击投票或点击“正确”。
【解决方案3】:

这是你需要的吗?

标记:

<asp:Label ID="lbl" runat="server"><%=SayHello("foo") %></asp:Label>

后面的代码:

protected string SayHello(string name)
{
    return "Hello " + name;
}

【讨论】:

  • 不,我写一个例子。我需要的是调用一个传递参数值的函数。我用带参数的事件(例如 OnLoad)调用方法,就像每种编程语言一样。在后面的代码中,我使用从 Web 表单中的事件传递的这个参数进行一些操作(例如 response.write(parameter))。
  • 这里有个误区。我不想设置标签的值,我以它为例。我需要通过Web表单(file.aspx)中的事件调用方法到后面代码中声明的方法(file.aspx.cs),将自定义参数传递给方法。
猜你喜欢
  • 1970-01-01
  • 2013-07-03
  • 2011-10-23
  • 1970-01-01
  • 2011-09-05
  • 2012-06-22
  • 2013-09-23
  • 2014-07-12
  • 1970-01-01
相关资源
最近更新 更多