我在GridView中的TemplateField内部的ItemTemplate中使用ASP:LinkButton.对于链接按钮的命令参数,我想从gridview绑定的数据源传递行的ID,所以我做的是这样的:
<asp:LinkButton ID="viewLogButton" CommandName="viewLog" CommandArgument="<%#Eval("ID")%>" Text="View Log" runat="server"/>
Run Code Online (Sandbox Code Playgroud)
不幸的是,生成的HTML是这样的:
<asp:LinkButton ID="viewLogButton" CommandName="viewLog" CommandArgument="3" Text="View Log" runat="server"/>
Run Code Online (Sandbox Code Playgroud)
它似乎正在正确解析Eval(),但这在某种程度上导致它不解析LinkButton标记并将其作为文字文本转储出来.有人知道吗:
a)为什么会发生这种情况,以及b)这个问题的一个好方法是什么?
如何使用javascript在.NET中获取LinkButton的文本?
试过.innerHTMl,.innerText,.value ......一切都行不通......
我有 2 个 asp 文本框,如果在 2 个文本框中的任何一个上按下 Enter 键,我已经附加了 jQuery 以触发链接按钮服务器端单击。但这似乎不起作用,请帮助我解释我做错的地方和原因。我需要一个适用于所有主要浏览器 [IE7,8,9]、[Firefox 3,4]、Safari[4,5] 的解决方案。
这是我的代码,
<script language="javascript" type="text/javascript">
function GC_PostBack() {
jQuery('#<%=lnkSubmitGiftCardNumber.ClientID%>').trigger("click");
}
Run Code Online (Sandbox Code Playgroud)
在服务器端 pn Page_Load,我将此函数附加到文本框的 onkeypress 事件。
if (!IsPostBack)
{
txtGiftCardNumber.Attributes.Add("onkeypress", "if(window.event.keyCode == 13) { GC_PostBack(); }");
txtGiftCardPin.Attributes.Add("onkeypress", "if(window.event.keyCode == 13) { GC_PostBack(); }");
}
Run Code Online (Sandbox Code Playgroud)
我曾尝试使用 .click() 而不是 .trigger("click"),但无济于事。请帮忙!
谢谢。
我的页面上有以下两个控件:
<asp:LinkButton ID="OpenLB" runat="server" >Open</asp:LinkButton>
<asp:HyperLink ID="OpenHL" runat="server">Open</asp:HyperLink>
Run Code Online (Sandbox Code Playgroud)
我在页面加载期间设置它们,如下所示:
OpenLB.PostBackUrl = @"file:\\web\documents-emails\doc1.docx";
OpenHL.NavigateUrl = @"file:\\web\documents-emails\doc1.docx";
Run Code Online (Sandbox Code Playgroud)
OpenHL有效,它打开word文件.
OpenLB不起作用,当我点击它时,我收到一个错误弹出窗口,上面写着:
Windows Internet Explorer无法找到文件'file://web//documents-emails//doc1.docx'.确保路径或Internet地址正确无误.
它看起来像url是不同的东西,我该如何解决这个问题?
我试图更新模态对话框的内容,这段代码适合我:
<asp:LinkButton ID="updateSomething" runat="server" Text="Update" CausesValidation="false" OnClientClick="openDialog();" onclick="UpdateButton_Click" />
<asp:UpdatePanel ID="upNewUpdatePanel" runat="server">
<ContentTemplate>
<asp:Label ID="updateLabel" runat="server"></asp:Label>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="updateSomething" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试将LinkButton放在gridview中时,如下所示:
<asp:GridView ID="grdListUsers" runat="server" AutoGenerateColumns="false" AllowPaging="false" OnRowDataBound="grdRowDefListUsers" CssClass="mGrid" EmptyDataText="No users.">
<Columns>
<asp:BoundField DataField="Name" HeaderText="Nome" HeaderStyle-Width="300" />
<asp:BoundField DataField="Login" HeaderText="Login" HeaderStyle-Width="300" />
<asp:TemplateField HeaderText="Options" HeaderStyle-Width="75" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Middle">
<ItemTemplate>
<asp:LinkButton ID="updateSomething" runat="server" Text="Update" CausesValidation="false" OnClientClick="openDialog();" onclick="UpdateButton_Click" />
</asp:TemplateField>
</Columns>
</asp:GridView>
Run Code Online (Sandbox Code Playgroud)
这不起作用,我得到一个错误说:在UpdatePanel'updNewUpdatePanel'中找不到ID为'updateSomething'的控件.
如何在gridview中使用ImageButton?
ASP声明:
<asp:LinkButton ID="LinkButton1" runat="server" Text="edit item" onclick="'AddItem.aspx?catid=<%# Eval("CollectionID")%>'"></asp:LinkButton>
Run Code Online (Sandbox Code Playgroud)
我得到错误:服务器标签格式不正确.
LinkButton decloration有什么问题?先感谢您.
我在页面上有一个链接按钮并将其设置为默认按钮,它在IE中工作正常,但在Mozila Firefox中无效.有没有人知道如何解决这个问题?
是否可以在asp:LinkButton
没有JavaScript的情况下使用它来打开新窗口?目前我有可行的下一个代码,但使用JS.
<asp:LinkButton ID="lnkPcName" runat="server" OnClientClick="window.document.forms[0].target='_blank';" PostBackUrl='<%# Eval("ComputerId", "ComputerInfo.aspx?ComputerId={0}") %>'><%# Eval("pcName") %></asp:LinkButton>
Run Code Online (Sandbox Code Playgroud) 如何在asp.net中将链接按钮设置为asp:panel的默认按钮?我知道一个按钮可以设置为默认值,但我的应用程序使用所有表单的链接按钮.任何建议如何做到这一点.
编辑:
现在我尝试了这个,它也适用于Firefox,但我的javascript验证(即)onclient点击我的linkbutton不起作用为什么?
var __defaultFired = false;
function WebForm_FireDefaultButton(event, target) {
var element = event.target || event.srcElement;
if (!__defaultFired && event.keyCode == 13 && !(element && (element.tagName.toLowerCase() == "textarea"))) {
var defaultButton;
if (__nonMSDOMBrowser)
defaultButton = document.getElementById(target);
else
defaultButton = document.all[target];
if (defaultButton) {
if (typeof (defaultButton.click) != "undefined")
defaultButton.click();
else
eval(unescape(defaultButton.href.replace("javascript:", "")));
event.cancelBubble = true;
if (event.stopPropagation) event.stopPropagation();
return false;
}
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
第二次编辑:
我能够使我的自定义linkbutton控件工作,但无法将OnClientClick挂钩到它.源using-panel-defaultbutton-property-with-linkbutton-control-in-asp-net.
我这样做了,
<%@ Register Namespace="App_Code" TagPrefix="ac" %>
<asp:Label runat="server" …
Run Code Online (Sandbox Code Playgroud) 我有很多人linkbutton
放在网络表格上,一切正常,直到昨天.但是现在我的ajax扩展器没有工作并且linkbuttons
正在回复.我的一些代码是
<table width="460px">
<tr>
<td colspan="2"
style=" color: #C48239; font-style: normal; font-size: 18px; font-family: 'Bookman Old Style'; text-align:center;height:22px;">
Manage Your Profile</td>
</tr>
<tr>
<td>
<asp:LinkButton ID="lnk_per_pro" runat="server" CssClass="linkButton"
PostBackUrl="~/User/Edit_profile.aspx">Edit Personal Profile</asp:LinkButton> </td>
<td>
<asp:LinkButton ID="lnk_par_pro" runat="server" CssClass="linkButton">Edit Partner's Profile</asp:LinkButton></td>
</tr>
<tr>
<td>
<asp:LinkButton ID="lnk_con_det" runat="server" CssClass="linkButton"
PostBackUrl="~/User/Edit_profile.aspx">Edit Contect Details</asp:LinkButton></td>
<td>
<asp:LinkButton ID="lnk_add_photos" runat="server" CssClass="linkButton">Add Photos</asp:LinkButton></td>
</tr>
<tr>
<td>
<asp:LinkButton ID="lnk_hob" runat="server" CssClass="linkButton"
PostBackUrl="~/User/Edit_profile.aspx">Edit Hobbies and Interests</asp:LinkButton></td>
<td>
<asp:LinkButton ID="lnk_del_pro" runat="server" CssClass="linkButton">Remove/Delete Profile</asp:LinkButton></td>
</tr>
</table></center>
</div>
</div><!-- …
Run Code Online (Sandbox Code Playgroud) asp.net ×10
linkbutton ×10
c# ×3
gridview ×2
.net ×1
click ×1
hyperlink ×1
javascript ×1
jquery ×1
mozilla ×1
panel ×1
postback ×1
postbackurl ×1
updatepanel ×1
webforms ×1