我的.aspx中有以下内容:
<input type="image" src="<%=PayPalButtonImage %>" onserverclick="RedirectToPayPal" runat="server" />
在代码隐藏中我得到了这个属性:
protected string PayPalButtonImage
{
get { return PayPalExpressCheckoutButtonUrl;}
}
protected void RedirectToPayPal()
{
}
为什么不能看到这个属性或服务器方法RedirectToPayPal?我得到一个运行时错误:
'ASP.cart_aspx'不包含'RedirectToPayPal'的定义,并且没有可以找到接受“ASP.cart_aspx”类型的第一个参数的扩展方法'RedirectToPayPal'
答案 0 :(得分:2)
这可能无法解决您的问题,但我认为您的方法签名不正确。尝试将RedirectToPayPal方法更改为
protected void RedirectToPayPal(object sender, ImageClickEventArgs e)
{
}
答案 1 :(得分:2)
protected void RedirectToPayPal(object sender, EventArgs e)
{
}
非常确定您需要与asp.net页面相关的事件缺少参数。
答案 2 :(得分:0)
我不认为这是你真正的问题。确保已构建解决方案,并且ASPX指向您编辑的代码隐藏文件。
答案 3 :(得分:0)
重要的不是代码隐藏,它是Inherits属性。让我们看看你的类定义和@Page指令。如果这些不匹配,则无法找到该方法。
答案 4 :(得分:0)
我认为您收到运行时错误的原因是因为您尚未为此定义事件。请尝试以下方法:
CS:
public event EventHandler RedirectEvent;
protected void Page_Load(object sender, EventArgs e)
{
this.RedirectEvent += new EventHandler(RedirectToPayPal);
}
protected string PayPalButtonImage
{
get { return "hello"; }
}
protected void RedirectToPayPal(object sender, EventArgs e)
{
//DO Whatever here.
}
<强> ASPX:强>
<input id="Image1" type="image" src="<%=PayPalButtonImage %>" runat="server" onserverclick="RedirectToPayPal" />
答案 5 :(得分:0)
对于那些寻求帮助的人来说,你在发布代码时非常顽固......
这是一个想法。使用ASP控件来设计它们并停止尝试游戏系统:
<asp:ImageButton ID="imgButton" runat="server" OnClick="RedirectToPaypal" />
您的原始控件没有ID属性,这是在后端触发事件所必需的。