<%@ Page Language="VB" AutoEventWireup="false" CodeFile="ShowMessage.aspx.vb" Inherits="BBS_ShowMessage" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>
    <script type="text/javascript">
        function go(floor)
        {
            document.getElementById("replay").value = floor;/////////////////////value没点出来,手写上去的,应该是错误的
            window.location.href="#reply";
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
                <asp:ORepeater ID="ORepeater1" runat="server">
        <ItemTemplate>
        <table border="1" width="800px"  style="TABLE-LAYOUT:fixed;word-break:break-all">
            <tr>
                <td  width="160px" align="left">Author:<%#Eval("Author")%></td>
                <td  width="496px" align="left">Title:<%#Eval("Title")%></a></td>
                <td  width="144px" align="right"><%#Eval("updatetime")%></td>
            </tr>
            <tr>
                <td align="left"><%#Eval("Replycount")%> floor</td>
                <td align="left" colspan="2">Content:<%#Eval("Content")%></td>
            </tr>
            <tr>
                <td>&nbsp;</td>
                <td colspan="2" align="left">
                    <asp:LinkButton ID="LinkButton1" runat="server" CommandName ="Re" CommandArgument ="123" OnClick="go(<%#Eval("Replycount") %>">Reply <%#Eval("Replycount")%> Floor</asp:LinkButton></td>///////////////这个go是不是有问题?
            </tr>
            </table>
        </ItemTemplate>
        </asp:ORepeater>
        </div>
        <br />
        <br />
        <asp:OLabel ID="OLabel1" runat="server">Reply:</asp:OLabel>
        <br />
        <a name="reply">///////////////锚点,其实我想把光标定到文本框里面,不知道如何解决
        <asp:OTextBox ID="Content" runat="server" Height="150px" 
            TextMode="MultiLine" Width="500px">
</asp:OTextBox>
        <br />
        <div>
        <asp:OButton ID="OButton1" runat="server" Text="Submit" BackColor="#FEC359"/>
        </div>
    <p>
        <asp:OHyperLink ID="OHyperLink1" runat="server" Font-Underline="True" 
            ForeColor="Blue" NavigateUrl="BBSHomePage.aspx">Back to ForumList</asp:OHyperLink>
    </p>
    </form>
</body>
</html>控件起始的O是单位控件都有的开头,无碍。
我想能在repeater里面加上一个linkbutton希望做到如下几点:
1,抓取那个按钮所在的楼层
2,光标跳转到下面文本框
3,在文本框内自动键入“回复**楼:”的字样有知道的么?就剩下9分了,全贡献了
附:我添加上LINKBUTTON不能在代码页面点出按钮事件

解决方案 »

  1.   

    你这个在cs代码里不就可以处理了嘛 在repeater 的itemcommand事件里
    例子:
    html:
    <table cellSpacing="0" cellPadding="0" width="100%" border="0" class="dlg_cor2">
    <tr class="dg_header">
    <td style="BORDER-RIGHT:1px solid; BORDER-LEFT:1px solid; WIDTH:15%; BORDER-BOTTOM:1px solid; TEXT-ALIGN:center">奖品等级</td>
    <td style="BORDER-RIGHT:1px solid; BORDER-BOTTOM:1px solid; TEXT-ALIGN:center">奖品名称</td>
    <td style="BORDER-RIGHT:1px solid; WIDTH:8%; BORDER-BOTTOM:1px solid; TEXT-ALIGN:center">修改</td>
    <td style="BORDER-RIGHT:1px solid; WIDTH:8%; BORDER-BOTTOM:1px solid; TEXT-ALIGN:center">删除</td>
    </tr>
    <asp:repeater id="RepeaterProduct" runat="server">
    <ItemTemplate>
    <tr class="dg_item">
    <td style="border-right:solid 1px;BORDER-LEFT:1px solid; border-bottom:1px solid; text-align:center;"><%# DataBinder.Eval(Container.DataItem,"Prizelevel")%></td>
    <td style="border-right:solid 1px; border-bottom:1px solid; text-align:center;"><%# DataBinder.Eval(Container.DataItem,"PrizeName")%></td>
    <td style="border-bottom:solid 1px; border-right:solid 1px; text-align:center;">
    <asp:ImageButton runat="server" ImageUrl="../Images/xg1.gif" ID="lbtEdit" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "id ")%>' CommandName="Edit">
    </asp:ImageButton></td>
    <td style="border-bottom:solid 1px;BORDER-right:1px solid; text-align:center;">
    <asp:ImageButton runat="server" ImageUrl="../Images/delr.GIF" ID="lbtDel" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "id ").ToString()+
                                                                                               ","+DataBinder.Eval(Container.DataItem,"Prizelevel").ToString()+
                                                                                               ","+DataBinder.Eval(Container.DataItem,"PrizeName").ToString()%>' CommandName="Del" >
    </asp:ImageButton></td>
    </tr>
    </ItemTemplate>
    </asp:repeater>
    <tr>
    <td colspan="4" id="pager">
    <table cellSpacing="0" cellPadding="0" width="100%" border="0">
    <tr>
    <td class="pgtext">共
    <asp:label id="lblRecordCount" runat="server" cssclass="light"></asp:label>条记录&nbsp;&nbsp;&nbsp; 
    目前第
    <asp:label id="lblPageCount" runat="server" cssclass="light"></asp:label>页&nbsp;&nbsp;&nbsp;
    <asp:textbox id="txtGoPageNum" runat="server" cssclass="pageText"></asp:textbox>&nbsp;
    <asp:button id="btnGoPage" runat="server" cssclass="goBtn"></asp:button></td>
    <td align="right">&nbsp;
    <asp:imagebutton id="btnFirst" runat="server" imageurl="../Images/first.gif"></asp:imagebutton>&nbsp;&nbsp;
    <asp:imagebutton id="btnPrev" runat="server" imageurl="../Images/btn_pre.gif"></asp:imagebutton>&nbsp;&nbsp;&nbsp;&nbsp;
    <asp:imagebutton id="btnNext" runat="server" imageurl="../Images/btn_next.gif"></asp:imagebutton>&nbsp;&nbsp;
    <asp:imagebutton id="btnLast" runat="server" imageurl="../Images/btn_last.gif"></asp:imagebutton></td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    cs代码 找到repeater 触发他的itemcommand事件
    private void RepeaterProduct_ItemCommand(object source, System.Web.UI.WebControls.RepeaterCommandEventArgs e)
    {
    string ID;
    if (e.CommandName == "Edit")
    {
    if(Helper.IsSystemUser()||!Helper.CheckUserOptRight(27))//是系统管理员
    {
    //Response.Redirect(Helper.ERROR_URL,true);
    RegisterStartupScript("warn","<script>alert('无权操作此项!')</script>");
    return;
    }
    ID = e.CommandArgument.ToString().Trim();
    //window.showModalDialog('CsPackage.aspx?Lx=1&csid='+csid+'&Pkid='+id,"aaa"
    Response.Redirect("PrizeAddOrEdit.aspx?id="+ViewState["csid"].ToString().Trim()+"&flag="+ID);
    }
    if(e.CommandName=="Del")
    {
    if(Helper.IsSystemUser()||!Helper.CheckUserOptRight(27))//是系统管理员
    {
    //Response.Redirect(Helper.ERROR_URL,true);
    RegisterStartupScript("warn","<script>alert('无权操作此项!')</script>");
    return;
    }
    string Id_Level_Name =e.CommandArgument.ToString();
    int id=Convert.ToInt32(Id_Level_Name.Split(',')[0]);
    string level = Id_Level_Name.Split(',')[1];
    string name = Id_Level_Name.Split(',')[2];
    string sql=String.Format("delete from cdprizes where csid='{0}' and Id={1}",ViewState["csid"].ToString().Trim(),id);
    if(DataAccess.BasicDataAccess.PublicExecuteNonQuery(sql))
    {
    this.ViewState["page"] = 1;
    BindToReapter();
    RegisterStartupScript("aa","<script>alert('删除成功!')</script>");
    Common.InsertLog(2,27,"奖品设置","操作结果:删除成功,奖品等级:"+level+",奖品名称:"+name);
    }
    else
    {
    RegisterStartupScript("aa","<script>alert('删除失败!')</script>");
    return;
    }
    }
    }