C# 我的网站如何知道我点击了什么按钮?

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

"

我在ASP.NET中的网站有问题。我的应用程序包含几个可以更改的按钮(imagebuttons)。例如:当我按下一个空按钮时,我希望能够在其中放置一张图片和一个网站。我用一个弹出框使这成为可能

我遇到的问题是:

当我试图给按钮2一个图像和一个网站,它给按钮1一个图像和网站,因为我告诉它在:

 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,您将使用它们