C# 我的网站如何知道我点击了什么按钮?
" 我在ASP.NET中的网站有问题。我的应用程序包含几个可以更改的按钮(imagebuttons)。例如:当我按下一个空按钮时,我希望能够在其中放置一张图片和一个网站。我用一个弹出框使这成为可能 我遇到的问题是: 当我试图给按钮2一个图像和一个网站,它给按钮1一个图像和网站,因为我告诉它在:C# 我的网站如何知道我点击了什么按钮?,c#,asp.net,cookies,imagebutton,C#,Asp.net,Cookies,Imagebutton," 我在ASP.NET中的网站有问题。我的应用程序包含几个可以更改的按钮(imagebuttons)。例如:当我按下一个空按钮时,我希望能够在其中放置一张图片和一个网站。我用一个弹出框使这成为可能 我遇到的问题是: 当我试图给按钮2一个图像和一个网站,它给按钮1一个图像和网站,因为我告诉它在: public partial class Ingelogd : System.Web.UI.Page { protected void Page_Load(object sender, Even
public partial class Ingelogd : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Image1_Click(object sender, ImageClickEventArgs e)
{
if (DropDown.SelectedItem.Value == "Youtube")
{
Btn_1.ImageUrl = "~/Images/Youtube.png";
Btn_1.PostBackUrl = ("http://www.youtube.com");
Btn_1.OnClientClick = "";
}
else
{
}
}
现在,我实际上希望Btn_2也一样,但我必须编写完全相同的代码,但将Btn_1更改为Btn_2。这是不可能做到的,因为我想要19个网站(youtube,还有facebook,twitter等)。我也将有19个按钮(目前我只有Btn_1和Btn_2)。这意味着我必须生成19*19=361段代码。我想有一种方法可以为它制作一个子程序。我的老师还告诉我,我可以用饼干做按钮,但我不知道如何用图像按钮制作饼干
解决此问题的最佳解决方案是什么?
我也有ASP.NET代码在这里为您谁想要看到的代码以及
<title>Ingelogd</title>
<script type="text/javascript">
<!--
function toggle_visibility(id) {
var e = document.getElementById(id);
if (e.style.display == 'block')
e.style.display = 'none';
else
e.style.display = 'block';
}
//-->
</script>
<style type="text/css">
#popupBoxOnePosition{
top: 0; left: 0; position: fixed; width: 100%; height: 120%;
background-color: rgba(0,0,0,0.7); display: none;
}
.popupBoxWrapper{
width: 550px; margin: 50px auto; text-align: left;
}
.popupBoxContent{
background-color: #FFF; padding: 15px;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
Dit is de pagina als je ingelogd bent.
</div>
<div id="popupBoxOnePosition">
<div class="popupBoxWrapper">
<div class="popupBoxContent">
<h3>Instellingen</h3>
<p>Kies uit een van de volgende links.</p>
<asp:DropDownList ID="DropDown" runat="server">
<asp:ListItem >Select</asp:ListItem>
<asp:ListItem >Youtube</asp:ListItem>
<asp:ListItem >Facebook</asp:ListItem>
</asp:DropDownList>
<br />
<asp:ImageButton ID="Button1" runat="server"
OnClick="Image1_Click"/>
<br />
<asp:Button ID="Button_afsluiten" runat="server" Height="48px" OnClientClick="toggle_visibility('popupBoxOnePosition');return false;" Text="Afsluiten" />
</div>
</div>
</div>
<asp:ImageButton ID="Btn_1" runat="server" Height="48px" OnClientClick="toggle_visibility('popupBoxOnePosition');return false;"
ImageUrl="" />
<asp:ImageButton ID="Btn_2" runat="server" Height="48px" OnClientClick="toggle_visibility('popupBoxOnePosition');return false;"
ImageUrl="" />
</form>
</body>
</html>
英格洛格
#波普酮位置{
顶部:0;左侧:0;位置:固定;宽度:100%;高度:120%;
背景色:rgba(0,0,0,0.7);显示:无;
}
.popuboxwrapper{
宽度:550px;边距:50px自动;文本对齐:左侧;
}
.PopuboxContent{
背景色:#FFF;填充:15px;
}
这是一个很好的例子。
英斯特林根
基斯·伊恩·范德沃根德·林克斯
挑选
Youtube
脸谱网
您可以尝试向DropDownList添加属性并使用它。例如,添加两个新属性ImageUrl和SiteUrl。您的代码应该如下所示:
protected void Image1_Click(object sender, ImageClickEventArgs e)
{
Btn_1.ImageUrl = DropDown.Attrubutes["ImageUrl"];
Btn_1.PostBackUrl = DropDown.Attrubutes["SiteUrl"];
Btn_1.OnClientClick = "";
}
我从未使用过asp,但大多数代码都是纯c#,所以我应该很好。 创建19个单独的函数,每个按钮一个,并动态添加图像和Url,而不是使用ifs:
protected void Image1_Click(object sender, ImageClickEventArgs e)
{
String val = DropDown.SelectedItem.Value;
Btn_1.ImageUrl = "~/Images/" + val + ".png";
Btn_1.PostBackUrl = "http://www." + val + ".com";
Btn_1.OnClientClick = "";
}
如果您希望所有按钮都有一个函数,那么您必须为所有按钮指定一个
名称
,并检查函数中的发件人名称。这可能是为了让用户自己添加图像和站点url?但那其实不是我想要的。用户必须在标准站点之间进行选择。用户检查DropDownList中的标准站点,DropDownList中的每个项目都应包含两个新属性,例如ImageUrl和SiteUrl,您将使用它们