用asp.net如何实现以下功能
前台代码: <asp:Repeater ID="Repeater1" runat="server"
onitemcommand="Repeater1_ItemCommand">
<ItemTemplate>
<asp:ImageButton ID="ImageButton11" runat="server" ImageUrl='<%#Eval("imgurl") %>' />
</ItemTemplate>
</asp:Repeater>
备注:repeater绑定的是图片。图片名称从数据库读出。要实现这样一个效果,点击任意图片,将其地址显示在textbox中。
效果图如下示:
答案:repeater控件里面的事件是 时间冒泡机制<asp:ImageButton ImageUrl="~/images/btn_buy.gif" runat="server" ID="btnShow" CommandName="show" CommandArgument='<%#Eval("imgurl") %>' />
后台是repeater 的ItemCommand事件处理
protected void rptBooks_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName == "show")
{
//开始实现购买逻辑
string url= e.CommandArgument.ToString();
text Id.Text=url;
}
}
你可以把那些图片的名称用数字来表示,比如说,1.gif,2.gif,3.gif...数据库那边的数据库那边的图片名称也是一样,然后,在页面那里,可以用javascript或是jquery定义函数,再用for循环来遍历出来,最后在Textbox那里调用那个方法到你的文本框中就可以了!
你这个不能用imagebutton来做,直接用html标签来写吧
<img src ="<%#Eval("imgurl") %>" alt=""/>
然后给img标签的onclick事绑定javascript方法,点击后直接把当前图片的地址添加到textbox控件中
嗯,要用img标签来做,不要用服务器控件的imgbutton标签,这个javascript就可以搞定,onclick="document.getElementById('txtbox').text=document.getElementById(this).href"
你考VF的!这个问题我思考了一下。还是得自己努力才行。
<asp:Repeater ID="Repeater1" runat="server"
onitemcommand="Repeater1_ItemCommand">
<ItemTemplate>
<img src="<%#Eval("imgurl") %>" onclick="document.getElementById('txtbox').text=document.getElementById(this).href" />
</ItemTemplate>
</asp:Repeater>ImageButton 加一个单击事件就可以了
直接使用ImageButton11的click事件,在ImageButton11的click事件里面写
textbox.text=imageButton11.ImageUrl.ToString();
用img标签加载图片,然后ID就 1 2 3 4 5 6 。当选择一个表情的时候 就在textbox里面追加一个字符#1 代表ID为1的表情(用js实现)! 然后保存整个textbox内容到数据库。最后显示的时候先用正则表达式更换#1(#后面的数字)替换为<img src="/images/1.gif"/>标签的html的代码显示就OK了
上一个:asp.net 时间段与时间段的计算?
下一个:asp.net mvc 建拦截器的步骤