首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在asp中获得<p>的值:点击div的中继器?

如何在asp中获得<p>的值:点击div的中继器?
EN

Stack Overflow用户
提问于 2020-10-09 08:56:53
回答 1查看 58关注 0票数 0

在这里输入图像描述

当我点击每个游戏框时,我想得到<p>的值(游戏标题文本)。

我想得到这个值(ex>The女巫3:野生狩猎),并在网址中添加这个值。

就像这个商店_Main.aspx/GameTitles/女巫3

当前url为Store_Main.aspx

当我单击“赛博朋克2077”div框时,url是Store_Main.aspx/GameTitles/赛博朋克2077

代码语言:javascript
复制
<asp:Repeater runat="server" ID="discountRepeater1">
    <ItemTemplate>
            <div class="div_discount_contentbox" id="div_discount_contentbox1"
                onmouseover="this.style.backgroundColor='#35373A'" onmouseout="this.style.backgroundColor='#1B1C1E'"
                onclick="onClickDivDiscount1()" runat="server">
                <div class="div_wrap_discount_image">
                    <img src='<%# Eval("메인이미지") %>'
                        class="discount_image" id="discount_image" runat="server" />
                </div>
                <div class="div_discount_title">
                    <p class="p p_discount_title"><%# Eval("게임명") %></p>
                </div>

                <div class="div_discount_price">
                    <div class="div_wrap_discount_rate">
                        <img src="Images/Icon/Icon_Discount.png" class="icon_discount" />
                        <p class="p p_discount_rate"><%# Convert.ToDouble(Eval("할인율")) * 100 %>%</p>
                    </div>
                    <div class="div_wrap_discount_price2">
                        <p class="p p_discount_price"><strike>&#8361;<%# Eval("게임가격") %>원</strike></p>
                        <br />
                        <p class="p p_discounted_price" id="p_price" runat="server">
                            &#8361;<%# Convert.ToInt32(Eval("게임가격"))
                                           - Convert.ToInt32(Eval("게임가격")) * Convert.ToDouble(Eval("할인율")) %>원
                        </p>
                    </div>
                </div>
            </div>
     </ItemTemplate>
</asp:Repeater>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-09 10:03:30

如果您想在js函数onClickDivDiscount1中访问onClickDivDiscount1

你有三个选择:

  1. 在函数的内部传递值(在p的内部传递Eval),并更新函数来处理这些参数。例如:
代码语言:javascript
复制
<asp:Repeater runat="server" ID="discountRepeater1">
    <ItemTemplate>
            <div class="div_discount_contentbox" id="div_discount_contentbox1"
                onmouseover="this.style.backgroundColor='#35373A'" onmouseout="this.style.backgroundColor='#1B1C1E'"
                onclick=onClickDivDiscount1('<%# Eval("게임명") %>', 'Eval("게임가격")') runat="server">
                <div class="div_wrap_discount_image">
                    <img src='<%# Eval("메인이미지") %>'
                        class="discount_image" id="discount_image" runat="server" />
                </div>
                <div class="div_discount_title">
                    <p class="p p_discount_title"><%# Eval("게임명") %></p>
                </div>

                <div class="div_discount_price">
                    <div class="div_wrap_discount_rate">
                        <img src="Images/Icon/Icon_Discount.png" class="icon_discount" />
                        <p class="p p_discount_rate"><%# Convert.ToDouble(Eval("할인율")) * 100 %>%</p>
                    </div>
                    <div class="div_wrap_discount_price2">
                        <p class="p p_discount_price"><strike>&#8361;<%# Eval("게임가격") %>원</strike></p>
                        <br />
                        <p class="p p_discounted_price" id="p_price" runat="server">
                            &#8361;<%# Convert.ToInt32(Eval("게임가격"))
                                           - Convert.ToInt32(Eval("게임가격")) * Convert.ToDouble(Eval("할인율")) %>원
                        </p>
                    </div>
                </div>
            </div>
     </ItemTemplate>
</asp:Repeater>

Javascript:

代码语言:javascript
复制
function onClickDivDiscount1(discpuntTitle, discountPrice){
    alert(discountTitle, discountPrice);
}
  1. 在该函数中传递您的div,并更新函数以处理该div,您将可以使用公共js或jquery访问该函数的子节点。例如:
代码语言:javascript
复制
<asp:Repeater runat="server" ID="discountRepeater1">
    <ItemTemplate>
            <div class="div_discount_contentbox" id="div_discount_contentbox1"
                onmouseover="this.style.backgroundColor='#35373A'" onmouseout="this.style.backgroundColor='#1B1C1E'"
                onclick=onClickDivDiscount1(this) runat="server">
                <div class="div_wrap_discount_image">
                    <img src='<%# Eval("메인이미지") %>'
                        class="discount_image" id="discount_image" runat="server" />
                </div>
                <div class="div_discount_title">
                    <p class="p p_discount_title"><%# Eval("게임명") %></p>
                </div>

                <div class="div_discount_price">
                    <div class="div_wrap_discount_rate">
                        <img src="Images/Icon/Icon_Discount.png" class="icon_discount" />
                        <p class="p p_discount_rate"><%# Convert.ToDouble(Eval("할인율")) * 100 %>%</p>
                    </div>
                    <div class="div_wrap_discount_price2">
                        <p class="p p_discount_price"><strike>&#8361;<%# Eval("게임가격") %>원</strike></p>
                        <br />
                        <p class="p p_discounted_price" id="p_price" runat="server">
                            &#8361;<%# Convert.ToInt32(Eval("게임가격"))
                                           - Convert.ToInt32(Eval("게임가격")) * Convert.ToDouble(Eval("할인율")) %>원
                        </p>
                    </div>
                </div>
            </div>
     </ItemTemplate>
</asp:Repeater>

Javascript:

代码语言:javascript
复制
function onClickDivDiscount1(_self){
    alert (_self.getElementsByClassName("p_discount_title").innerText);
// if you using jquery:
    alert ($(_self).find(".p_discount_title").text());
}
  1. 用于后端处理程序的CommandArgumentCommandName,如果需要,则需要任何按钮控制,因为该属性仅存在于IButton:https://learn.microsoft.com/en-us/dotnet/api/system.web.ui.webcontrols.ibuttoncontrol.commandargument?view=netframework-4.8中。
代码语言:javascript
复制
<asp:Repeater runat="server" ID="discountRepeater1">
    <ItemTemplate>
            <div class="div_discount_contentbox" id="div_discount_contentbox1"
                onmouseover="this.style.backgroundColor='#35373A'" onmouseout="this.style.backgroundColor='#1B1C1E'"
                onclick=onClickDivDiscount1() runat="server">
<asp:Button runat="server" id="btn1" Text="do" OnClick="btnDo_Click"
CommandArgument='<%# Eval("게임명") %>' CommandName='<%# Eval("게임가격") %>'></asp:Button>
                <div class="div_wrap_discount_image">
                    <img src='<%# Eval("메인이미지") %>'
                        class="discount_image" id="discount_image" runat="server" />
                </div>
                <div class="div_discount_title">
                    <p class="p p_discount_title"><%# Eval("게임명") %></p>
                </div>

                <div class="div_discount_price">
                    <div class="div_wrap_discount_rate">
                        <img src="Images/Icon/Icon_Discount.png" class="icon_discount" />
                        <p class="p p_discount_rate"><%# Convert.ToDouble(Eval("할인율")) * 100 %>%</p>
                    </div>
                    <div class="div_wrap_discount_price2">
                        <p class="p p_discount_price"><strike>&#8361;<%# Eval("게임가격") %>원</strike></p>
                        <br />
                        <p class="p p_discounted_price" id="p_price" runat="server">
                            &#8361;<%# Convert.ToInt32(Eval("게임가격"))
                                           - Convert.ToInt32(Eval("게임가격")) * Convert.ToDouble(Eval("할인율")) %>원
                        </p>
                    </div>
                </div>
            </div>
     </ItemTemplate>
</asp:Repeater>

码背后C#

代码语言:javascript
复制
public void btnDo_Click(object sender, EventArgs e){
   btn1.Text = e.CommandName + e.CommandArgument;
}

更新:我读了你的问题更新,这里你不需要,你可以使用<asp:HyperLink>简单,比如:

代码语言:javascript
复制
<asp:Repeater runat="server" ID="discountRepeater1">
    <ItemTemplate>
<asp:HyperLink ID="HyperLink1" NavigateUrl='<%# String.Concat("~/Store_Main.aspx/GameTitles/", Eval("게임명")) %>' runat="server">
            <div class="div_discount_contentbox" id="div_discount_contentbox1"
                onmouseover="this.style.backgroundColor='#35373A'" onmouseout="this.style.backgroundColor='#1B1C1E'">
                <div class="div_wrap_discount_image">
                    <img src='<%# Eval("메인이미지") %>'
                        class="discount_image" id="discount_image" runat="server" />
                </div>
                <div class="div_discount_title">
                    <p class="p p_discount_title"><%# Eval("게임명") %></p>
                </div>

                <div class="div_discount_price">
                    <div class="div_wrap_discount_rate">
                        <img src="Images/Icon/Icon_Discount.png" class="icon_discount" />
                        <p class="p p_discount_rate"><%# Convert.ToDouble(Eval("할인율")) * 100 %>%</p>
                    </div>
                    <div class="div_wrap_discount_price2">
                        <p class="p p_discount_price"><strike>&#8361;<%# Eval("게임가격") %>원</strike></p>
                        <br />
                        <p class="p p_discounted_price" id="p_price" runat="server">
                            &#8361;<%# Convert.ToInt32(Eval("게임가격"))
                                           - Convert.ToInt32(Eval("게임가격")) * Convert.ToDouble(Eval("할인율")) %>원
                        </p>
                    </div>
                </div>
            </div>
</asp:HyperLink>
     </ItemTemplate>
</asp:Repeater>

之后可能需要一个小的css样式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64276852

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档