How can I add commandArgument dynamically to a LinkButton
I need to add a "download" button for each item in the panel list. Each download button should pass a unique ID to the event handler.
The problem with the new button : ID=DownloadPopup_btn_1 is that it does not send the request to the event handler with the argument I intended to.
I tried to use the <%#Eval()%> method but it either send the argument as an empty string or plain text "item.PromotionId" (depend if I used "" or not).
I can't use <%=item.PromotionId %> because "item" is not defined.
<ul id="draggablePanelList" class="list-group">
<% var popupIndex = 0;
foreach (var item in OldGameSettings.PromotionalDataList)
{
popupIndex++;
%>
<li class="list-group-item sortable-item first">
<asp:LinkButton ID="DownloadPopup_btn_1"
runat="server"
CssClass="btn btn-default pull-right btn-xs"
OnCommand="DownloadPopup_Click"
CommandArgument='<%#Eval(item.PromotionId)%>'>
<span aria-hidden="true" class="glyphicon glyphicon-download-alt"></span>
</asp:LinkButton>
<span style="margin-right: 15px;" class="pull-right">
<i class="glyphicon glyphicon-chevron-up" style="cursor: pointer; cursor: hand;" onclick="sendToTopPriority(this)" id="<%=item.PromotionId %>"></i>
<i class="glyphicon glyphicon-chevron-down" style="cursor: pointer; cursor: hand;" onclick="sendToBottomPriority(this)" id="<%=item.PromotionId %>"></i>
<i class="glyphicon glyphicon-chevron-right" style="cursor: pointer; cursor: hand;" onclick="sendToPriority(this)" id="<%=item.PromotionId %>"></i>
</span>
</li>
<% } %>
</ul>
Expected: click on the N'ish download button in the panel list, the button will trigger the event handler with CommandArgument == Button[N].CommandArgument
Actual: click on the N'ish download button in the panel list, the button triggers the event handler with CommandArgument == not what I want...
P.S. I've added the last section in the code to prove that item.PromotionId works in a different elements.
c# asp.net webforms
add a comment |
I need to add a "download" button for each item in the panel list. Each download button should pass a unique ID to the event handler.
The problem with the new button : ID=DownloadPopup_btn_1 is that it does not send the request to the event handler with the argument I intended to.
I tried to use the <%#Eval()%> method but it either send the argument as an empty string or plain text "item.PromotionId" (depend if I used "" or not).
I can't use <%=item.PromotionId %> because "item" is not defined.
<ul id="draggablePanelList" class="list-group">
<% var popupIndex = 0;
foreach (var item in OldGameSettings.PromotionalDataList)
{
popupIndex++;
%>
<li class="list-group-item sortable-item first">
<asp:LinkButton ID="DownloadPopup_btn_1"
runat="server"
CssClass="btn btn-default pull-right btn-xs"
OnCommand="DownloadPopup_Click"
CommandArgument='<%#Eval(item.PromotionId)%>'>
<span aria-hidden="true" class="glyphicon glyphicon-download-alt"></span>
</asp:LinkButton>
<span style="margin-right: 15px;" class="pull-right">
<i class="glyphicon glyphicon-chevron-up" style="cursor: pointer; cursor: hand;" onclick="sendToTopPriority(this)" id="<%=item.PromotionId %>"></i>
<i class="glyphicon glyphicon-chevron-down" style="cursor: pointer; cursor: hand;" onclick="sendToBottomPriority(this)" id="<%=item.PromotionId %>"></i>
<i class="glyphicon glyphicon-chevron-right" style="cursor: pointer; cursor: hand;" onclick="sendToPriority(this)" id="<%=item.PromotionId %>"></i>
</span>
</li>
<% } %>
</ul>
Expected: click on the N'ish download button in the panel list, the button will trigger the event handler with CommandArgument == Button[N].CommandArgument
Actual: click on the N'ish download button in the panel list, the button triggers the event handler with CommandArgument == not what I want...
P.S. I've added the last section in the code to prove that item.PromotionId works in a different elements.
c# asp.net webforms
CommandArgument == not what I want...
what exactly you are getting inCommandArgument
?
– Chetan Ranpariya
Jan 1 at 14:17
You can try<%=item.PromotionId %>
instead of'<%#Eval(item.PromotionId)%>
– Chetan Ranpariya
Jan 1 at 14:22
@ChetanRanpariya i'm getting either an empty string or the plain text of <%=item.PromotionId %>. I tried what you suggested but item is not known at this context.
– Etian Chamay
Jan 1 at 14:52
@EtianChamay, Are you using server-side events like Page_Load etc. in your code or its 100% inline C# code?
– Sunil
Jan 2 at 6:19
add a comment |
I need to add a "download" button for each item in the panel list. Each download button should pass a unique ID to the event handler.
The problem with the new button : ID=DownloadPopup_btn_1 is that it does not send the request to the event handler with the argument I intended to.
I tried to use the <%#Eval()%> method but it either send the argument as an empty string or plain text "item.PromotionId" (depend if I used "" or not).
I can't use <%=item.PromotionId %> because "item" is not defined.
<ul id="draggablePanelList" class="list-group">
<% var popupIndex = 0;
foreach (var item in OldGameSettings.PromotionalDataList)
{
popupIndex++;
%>
<li class="list-group-item sortable-item first">
<asp:LinkButton ID="DownloadPopup_btn_1"
runat="server"
CssClass="btn btn-default pull-right btn-xs"
OnCommand="DownloadPopup_Click"
CommandArgument='<%#Eval(item.PromotionId)%>'>
<span aria-hidden="true" class="glyphicon glyphicon-download-alt"></span>
</asp:LinkButton>
<span style="margin-right: 15px;" class="pull-right">
<i class="glyphicon glyphicon-chevron-up" style="cursor: pointer; cursor: hand;" onclick="sendToTopPriority(this)" id="<%=item.PromotionId %>"></i>
<i class="glyphicon glyphicon-chevron-down" style="cursor: pointer; cursor: hand;" onclick="sendToBottomPriority(this)" id="<%=item.PromotionId %>"></i>
<i class="glyphicon glyphicon-chevron-right" style="cursor: pointer; cursor: hand;" onclick="sendToPriority(this)" id="<%=item.PromotionId %>"></i>
</span>
</li>
<% } %>
</ul>
Expected: click on the N'ish download button in the panel list, the button will trigger the event handler with CommandArgument == Button[N].CommandArgument
Actual: click on the N'ish download button in the panel list, the button triggers the event handler with CommandArgument == not what I want...
P.S. I've added the last section in the code to prove that item.PromotionId works in a different elements.
c# asp.net webforms
I need to add a "download" button for each item in the panel list. Each download button should pass a unique ID to the event handler.
The problem with the new button : ID=DownloadPopup_btn_1 is that it does not send the request to the event handler with the argument I intended to.
I tried to use the <%#Eval()%> method but it either send the argument as an empty string or plain text "item.PromotionId" (depend if I used "" or not).
I can't use <%=item.PromotionId %> because "item" is not defined.
<ul id="draggablePanelList" class="list-group">
<% var popupIndex = 0;
foreach (var item in OldGameSettings.PromotionalDataList)
{
popupIndex++;
%>
<li class="list-group-item sortable-item first">
<asp:LinkButton ID="DownloadPopup_btn_1"
runat="server"
CssClass="btn btn-default pull-right btn-xs"
OnCommand="DownloadPopup_Click"
CommandArgument='<%#Eval(item.PromotionId)%>'>
<span aria-hidden="true" class="glyphicon glyphicon-download-alt"></span>
</asp:LinkButton>
<span style="margin-right: 15px;" class="pull-right">
<i class="glyphicon glyphicon-chevron-up" style="cursor: pointer; cursor: hand;" onclick="sendToTopPriority(this)" id="<%=item.PromotionId %>"></i>
<i class="glyphicon glyphicon-chevron-down" style="cursor: pointer; cursor: hand;" onclick="sendToBottomPriority(this)" id="<%=item.PromotionId %>"></i>
<i class="glyphicon glyphicon-chevron-right" style="cursor: pointer; cursor: hand;" onclick="sendToPriority(this)" id="<%=item.PromotionId %>"></i>
</span>
</li>
<% } %>
</ul>
Expected: click on the N'ish download button in the panel list, the button will trigger the event handler with CommandArgument == Button[N].CommandArgument
Actual: click on the N'ish download button in the panel list, the button triggers the event handler with CommandArgument == not what I want...
P.S. I've added the last section in the code to prove that item.PromotionId works in a different elements.
c# asp.net webforms
c# asp.net webforms
asked Jan 1 at 13:36
Etian ChamayEtian Chamay
538
538
CommandArgument == not what I want...
what exactly you are getting inCommandArgument
?
– Chetan Ranpariya
Jan 1 at 14:17
You can try<%=item.PromotionId %>
instead of'<%#Eval(item.PromotionId)%>
– Chetan Ranpariya
Jan 1 at 14:22
@ChetanRanpariya i'm getting either an empty string or the plain text of <%=item.PromotionId %>. I tried what you suggested but item is not known at this context.
– Etian Chamay
Jan 1 at 14:52
@EtianChamay, Are you using server-side events like Page_Load etc. in your code or its 100% inline C# code?
– Sunil
Jan 2 at 6:19
add a comment |
CommandArgument == not what I want...
what exactly you are getting inCommandArgument
?
– Chetan Ranpariya
Jan 1 at 14:17
You can try<%=item.PromotionId %>
instead of'<%#Eval(item.PromotionId)%>
– Chetan Ranpariya
Jan 1 at 14:22
@ChetanRanpariya i'm getting either an empty string or the plain text of <%=item.PromotionId %>. I tried what you suggested but item is not known at this context.
– Etian Chamay
Jan 1 at 14:52
@EtianChamay, Are you using server-side events like Page_Load etc. in your code or its 100% inline C# code?
– Sunil
Jan 2 at 6:19
CommandArgument == not what I want...
what exactly you are getting in CommandArgument
?– Chetan Ranpariya
Jan 1 at 14:17
CommandArgument == not what I want...
what exactly you are getting in CommandArgument
?– Chetan Ranpariya
Jan 1 at 14:17
You can try
<%=item.PromotionId %>
instead of '<%#Eval(item.PromotionId)%>
– Chetan Ranpariya
Jan 1 at 14:22
You can try
<%=item.PromotionId %>
instead of '<%#Eval(item.PromotionId)%>
– Chetan Ranpariya
Jan 1 at 14:22
@ChetanRanpariya i'm getting either an empty string or the plain text of <%=item.PromotionId %>. I tried what you suggested but item is not known at this context.
– Etian Chamay
Jan 1 at 14:52
@ChetanRanpariya i'm getting either an empty string or the plain text of <%=item.PromotionId %>. I tried what you suggested but item is not known at this context.
– Etian Chamay
Jan 1 at 14:52
@EtianChamay, Are you using server-side events like Page_Load etc. in your code or its 100% inline C# code?
– Sunil
Jan 2 at 6:19
@EtianChamay, Are you using server-side events like Page_Load etc. in your code or its 100% inline C# code?
– Sunil
Jan 2 at 6:19
add a comment |
2 Answers
2
active
oldest
votes
you could try use a repeater control
<ul id="draggablePanelList" class="list-group">
<asp:Repeater runat="server" ID="rptOutter" >
<ItemTemplate>
<li class="list-group-item sortable-item first">
<asp:LinkButton ID="DownloadPopup_btn_1"
runat="server"
CssClass="btn btn-default pull-right btn-xs"
OnCommand="DownloadPopup_Click"
CommandArgument='<%#Eval("PromotionId")%>'>
<span aria-hidden="true" class="glyphicon glyphicon-download-alt"></span>
</asp:LinkButton>
<span style="margin-right: 15px;" class="pull-right">
<i class="glyphicon glyphicon-chevron-up" style="cursor: pointer; cursor: hand;" onclick="sendToTopPriority(this)" id='<%#Eval("PromotionId")%>'></i>
<i class="glyphicon glyphicon-chevron-down" style="cursor: pointer; cursor: hand;" onclick="sendToBottomPriority(this)" id='<%#Eval("PromotionId")%>'></i>
<i class="glyphicon glyphicon-chevron-right" style="cursor: pointer; cursor: hand;" onclick="sendToPriority(this)" id='<%#Eval("PromotionId")%>'></i>
</span>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
don't forget to assign the repeater datasource to your OldGameSettings.PromotionalDataList
Code Behind
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
rptOutter.DataSource = OldGameSettings.PromotionalDataList;
rptOutter.DataBind();
}
}
add a comment |
CommandArgument='<%#Eval(item.PromotionId)%>'>
this line must be
CommandArgument='<%#Eval("item.PromotionId")%>'>
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53995893%2fhow-can-i-add-commandargument-dynamically-to-a-linkbutton%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
you could try use a repeater control
<ul id="draggablePanelList" class="list-group">
<asp:Repeater runat="server" ID="rptOutter" >
<ItemTemplate>
<li class="list-group-item sortable-item first">
<asp:LinkButton ID="DownloadPopup_btn_1"
runat="server"
CssClass="btn btn-default pull-right btn-xs"
OnCommand="DownloadPopup_Click"
CommandArgument='<%#Eval("PromotionId")%>'>
<span aria-hidden="true" class="glyphicon glyphicon-download-alt"></span>
</asp:LinkButton>
<span style="margin-right: 15px;" class="pull-right">
<i class="glyphicon glyphicon-chevron-up" style="cursor: pointer; cursor: hand;" onclick="sendToTopPriority(this)" id='<%#Eval("PromotionId")%>'></i>
<i class="glyphicon glyphicon-chevron-down" style="cursor: pointer; cursor: hand;" onclick="sendToBottomPriority(this)" id='<%#Eval("PromotionId")%>'></i>
<i class="glyphicon glyphicon-chevron-right" style="cursor: pointer; cursor: hand;" onclick="sendToPriority(this)" id='<%#Eval("PromotionId")%>'></i>
</span>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
don't forget to assign the repeater datasource to your OldGameSettings.PromotionalDataList
Code Behind
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
rptOutter.DataSource = OldGameSettings.PromotionalDataList;
rptOutter.DataBind();
}
}
add a comment |
you could try use a repeater control
<ul id="draggablePanelList" class="list-group">
<asp:Repeater runat="server" ID="rptOutter" >
<ItemTemplate>
<li class="list-group-item sortable-item first">
<asp:LinkButton ID="DownloadPopup_btn_1"
runat="server"
CssClass="btn btn-default pull-right btn-xs"
OnCommand="DownloadPopup_Click"
CommandArgument='<%#Eval("PromotionId")%>'>
<span aria-hidden="true" class="glyphicon glyphicon-download-alt"></span>
</asp:LinkButton>
<span style="margin-right: 15px;" class="pull-right">
<i class="glyphicon glyphicon-chevron-up" style="cursor: pointer; cursor: hand;" onclick="sendToTopPriority(this)" id='<%#Eval("PromotionId")%>'></i>
<i class="glyphicon glyphicon-chevron-down" style="cursor: pointer; cursor: hand;" onclick="sendToBottomPriority(this)" id='<%#Eval("PromotionId")%>'></i>
<i class="glyphicon glyphicon-chevron-right" style="cursor: pointer; cursor: hand;" onclick="sendToPriority(this)" id='<%#Eval("PromotionId")%>'></i>
</span>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
don't forget to assign the repeater datasource to your OldGameSettings.PromotionalDataList
Code Behind
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
rptOutter.DataSource = OldGameSettings.PromotionalDataList;
rptOutter.DataBind();
}
}
add a comment |
you could try use a repeater control
<ul id="draggablePanelList" class="list-group">
<asp:Repeater runat="server" ID="rptOutter" >
<ItemTemplate>
<li class="list-group-item sortable-item first">
<asp:LinkButton ID="DownloadPopup_btn_1"
runat="server"
CssClass="btn btn-default pull-right btn-xs"
OnCommand="DownloadPopup_Click"
CommandArgument='<%#Eval("PromotionId")%>'>
<span aria-hidden="true" class="glyphicon glyphicon-download-alt"></span>
</asp:LinkButton>
<span style="margin-right: 15px;" class="pull-right">
<i class="glyphicon glyphicon-chevron-up" style="cursor: pointer; cursor: hand;" onclick="sendToTopPriority(this)" id='<%#Eval("PromotionId")%>'></i>
<i class="glyphicon glyphicon-chevron-down" style="cursor: pointer; cursor: hand;" onclick="sendToBottomPriority(this)" id='<%#Eval("PromotionId")%>'></i>
<i class="glyphicon glyphicon-chevron-right" style="cursor: pointer; cursor: hand;" onclick="sendToPriority(this)" id='<%#Eval("PromotionId")%>'></i>
</span>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
don't forget to assign the repeater datasource to your OldGameSettings.PromotionalDataList
Code Behind
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
rptOutter.DataSource = OldGameSettings.PromotionalDataList;
rptOutter.DataBind();
}
}
you could try use a repeater control
<ul id="draggablePanelList" class="list-group">
<asp:Repeater runat="server" ID="rptOutter" >
<ItemTemplate>
<li class="list-group-item sortable-item first">
<asp:LinkButton ID="DownloadPopup_btn_1"
runat="server"
CssClass="btn btn-default pull-right btn-xs"
OnCommand="DownloadPopup_Click"
CommandArgument='<%#Eval("PromotionId")%>'>
<span aria-hidden="true" class="glyphicon glyphicon-download-alt"></span>
</asp:LinkButton>
<span style="margin-right: 15px;" class="pull-right">
<i class="glyphicon glyphicon-chevron-up" style="cursor: pointer; cursor: hand;" onclick="sendToTopPriority(this)" id='<%#Eval("PromotionId")%>'></i>
<i class="glyphicon glyphicon-chevron-down" style="cursor: pointer; cursor: hand;" onclick="sendToBottomPriority(this)" id='<%#Eval("PromotionId")%>'></i>
<i class="glyphicon glyphicon-chevron-right" style="cursor: pointer; cursor: hand;" onclick="sendToPriority(this)" id='<%#Eval("PromotionId")%>'></i>
</span>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
don't forget to assign the repeater datasource to your OldGameSettings.PromotionalDataList
Code Behind
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
rptOutter.DataSource = OldGameSettings.PromotionalDataList;
rptOutter.DataBind();
}
}
answered Jan 1 at 16:18
Fedri QruegerFedri Qrueger
573317
573317
add a comment |
add a comment |
CommandArgument='<%#Eval(item.PromotionId)%>'>
this line must be
CommandArgument='<%#Eval("item.PromotionId")%>'>
add a comment |
CommandArgument='<%#Eval(item.PromotionId)%>'>
this line must be
CommandArgument='<%#Eval("item.PromotionId")%>'>
add a comment |
CommandArgument='<%#Eval(item.PromotionId)%>'>
this line must be
CommandArgument='<%#Eval("item.PromotionId")%>'>
CommandArgument='<%#Eval(item.PromotionId)%>'>
this line must be
CommandArgument='<%#Eval("item.PromotionId")%>'>
answered Jan 2 at 4:39


ShubhamShubham
1925
1925
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53995893%2fhow-can-i-add-commandargument-dynamically-to-a-linkbutton%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
CommandArgument == not what I want...
what exactly you are getting inCommandArgument
?– Chetan Ranpariya
Jan 1 at 14:17
You can try
<%=item.PromotionId %>
instead of'<%#Eval(item.PromotionId)%>
– Chetan Ranpariya
Jan 1 at 14:22
@ChetanRanpariya i'm getting either an empty string or the plain text of <%=item.PromotionId %>. I tried what you suggested but item is not known at this context.
– Etian Chamay
Jan 1 at 14:52
@EtianChamay, Are you using server-side events like Page_Load etc. in your code or its 100% inline C# code?
– Sunil
Jan 2 at 6:19