我有一个页面有两个按钮,btnSearch和btnAddUser.aspx页面如下.如您所见,默认按钮是btnAddUser.但是当我在文本框txtFilter中键入内容时,我想将默认按钮设置为btnSearch.我添加了一个JavaScript函数clickButton,并在page_load中添加了以下代码.问题是当我在文本框中输入内容后按Enter键时,单击btnSearch和btnAddUser.我有什么办法可以不点击btnAddUser.
txtFilter.Attributes.Add("onkeypress", "return clickButton(event, '" + btnSearch.ClientID + "')");
<asp:Panel ID="MainPanel" runat="server" DefaultButton="btnAddUser">
<table align="center" width="900">
<tr>
<td align="left" width="70%">
<asp:TextBox ID="txtFilter" runat="server" Width="200"></asp:TextBox>
<asp:Button ID="btnSearch" runat="server" Text="Search"
onclick="btnSearch_Click" CausesValidation="false" />
</td>
<td align="right" width="30%">
<asp:Button ID="btnAddUser" runat="server" Text="Add User" Width="85px"
CausesValidation="False" onclick="btnAddUser_Click" />
</td>
</tr>
<tr>
...
</asp:Panel>
function clickButton(e, buttonid) {
var evt = e ? e : window.event;
var bt = document.getElementById(buttonid);
if (bt) {
if (evt.keyCode == 13) {
bt.click();
return false;
}
}
}
Run Code Online (Sandbox Code Playgroud)
更新:谷歌搜索后,我找到了一个解决方案如下.看起来很有效.但它不适用于Firefox?有谁知道如何解决它? …
我有一个用VB.NET编写的Web应用程序.在我的应用程序中,我有一些动态生成的RDLC报告.在开发过程中一切正常.但是在将我的Web应用程序部署到IIS之后,这些报告无法正常工作.这是我的问题.
(1)所有在我RDLC文件夹中的报告不部署,我想这就是为什么我得到"本地报表处理过程中出现错误"错误的原因,我的问题是,为什么这个文件夹并没有出版,我应该怎么设置发布这个文件夹?
(2)如果我手动将这些RDLC报告复制到目标文件夹,我得到另一个错误"失败:未知用户名或密码错误"我的验证模式设置为Windows.我还需要在web.config中设置其他内容吗?
我正在使用IIS 5.1,我的网络应用程序已从VS2005升级到VS2010.
我们在登录页面中使用 Web 控制适配器。最近我们在我们的 Web 应用程序上运行 VeraCode。在下面的函数中,我们得到了 CWE80, Improper Neutralization of Script-Related HTML Tags in a Web Page (Basic XSS),上线了
rev.ErrorMessage = msg;
Run Code Online (Sandbox Code Playgroud)
以下是 WebControlAdapterExtender 类中的函数。
static public void WriteRegularExpressionValidator(HtmlTextWriter writer, RegularExpressionValidator rev, string className, string controlToValidate, string msg, string expression)
{
if (rev != null)
{
rev.CssClass = className;
rev.ControlToValidate = controlToValidate;
rev.ErrorMessage = msg;
rev.ValidationExpression = expression;
rev.RenderControl(writer);
}
}
Run Code Online (Sandbox Code Playgroud)
有没有人有任何建议如何解决这个问题?
我有以下两个更新语句:
update tb1
set col1=1
where id in ('1', '2', '3')
update tb1
set col1=0
where id not in ('1', '2', '3')
Run Code Online (Sandbox Code Playgroud)
我可以将上述两个更新语句合二为一吗?
我们需要动态创建html下拉列表.以下是我们当前的代码.Option1和Option2是包含所有项目的字符串.我们有两个字符串的原因是我们将所有项目分成两组.
<td>
<div id="dvGroup" style="display:none;" runat="server"></div>
</td>
string Option1 = "<optgroup label='Group1'><option>1</option><option1>2</option>";
string Option2 = "<optgroup label='Group2'><option>a</option><option>b</option><option>c</option>;
…
dvGroup.InnerHtml = "<Select name='ddGroup' id='ddGroup'>" + Option1 + Option2 + "</Select>";
Run Code Online (Sandbox Code Playgroud)
但通过设置InnerHtml可能会带来一些安全问题.所以我改成了:
HtmlSelect select = new HtmlSelect();
select.ID = "ddGroup";
select.Name = "ddGroup";
select.ClientIDMode = ClientIDMode.Static;
dvGroup.Controls.Add(select);
select.Controls.Add(new LiteralControl(Option1 + Option2));
Run Code Online (Sandbox Code Playgroud)
但是,它在select.Controls.Add行中抛出了以下错误...
'System.Web.UI.HtmlControls.HtmlSelect' does not allow child controls.
Run Code Online (Sandbox Code Playgroud)
我该如何解决?另一个问题是,将ClientIDMode设置为Static只确保id没有更改,但名称仍然添加额外的东西.如何确保名称不会更改?
我的 aspx 页面中有一个文本框。用户希望能够在文本框中输入 html 标签。到目前为止,我知道绕过验证错误的唯一方法是将 ValidateRequest 设置为 false。我尝试了其他几种方法:(1)在这样的 javascript 中使用 Server.HtmlEncode
<%@ Import Namespace="System.Web" %>
var tb = document.getElementById("<%=synopsisTextBox.ClientID%>");
var value =Server.HtmlEncode(tb.value);
Run Code Online (Sandbox Code Playgroud)
但是我得到了编译器错误。谁能告诉我我做错了什么?
(2) 创建我自己的编码函数
function escapeHTML (str)
{
var div = document.createElement('div');
var text = document.createTextNode(str);
div.appendChild(text);
return div.innerHTML;
}
Run Code Online (Sandbox Code Playgroud)
不知何故,它并没有很好地工作。当我在同一页面中单击某个导致回发的按钮时,它会卡住。
谁能告诉我是否有更好的方法让您的文本框接受 html 标签?谢谢。
我的网页上有一个转发器,如下所示
<asp:Repeater runat="server" ID="AccountScrollRepeater" onitemdatabound="AccountRepeater_ItemDataBound">
<ItemTemplate>
<tr class="primary-BL2" style="text-align:left">
<td style="width:70px"><asp:Label runat="server" ID="AccountNoLabel" Text='<%# Eval("AccountNo") %>'></asp:Label></td>
<td style="width:40px"><asp:HyperLink runat="server" ID="CustomerHyperLink" NavigateUrl="" Text='<%# Eval("CustId") %>' Enabled="false"></asp:HyperLink></td>
...
</tr>
</ItemTemplate>
Run Code Online (Sandbox Code Playgroud)
我想将CustomerHyperLink的NavigateUrl设置为以下表达式,
string.Format(AppSetting.Instance.GetSearchDetailUrl(SearchTypeEnum.Customer), '<%# Eval("CustNo") %>');
Run Code Online (Sandbox Code Playgroud)
我的问题是,不是在后面的代码中设置NavigateUrl,我如何将它放在aspx页面中?
我有两个excel电子表格,一个有一个组合框,另一个有一个部门名称列表.我需要用部门名称填充组合框.我怎么做到这一点.
我有一个JavaScript函数如下:
function A(bNeed)
{
if (bNeed){
...
}
else{
...
}
}
Run Code Online (Sandbox Code Playgroud)
在我的代码背后Page_Load,我有
bool bNeed = File.Exists(...);
btn.Attributes.Add("onclick", string.Format("return A('{0}');", bNeed));
Run Code Online (Sandbox Code Playgroud)
但它似乎没有正常工作.谁能告诉我有什么问题?
asp.net ×4
c# ×2
boolean ×1
code-behind ×1
combobox ×1
eval ×1
excel ×1
excel-vba ×1
html ×1
html-encode ×1
javascript ×1
rdlc ×1
report ×1
select ×1
spreadsheet ×1
sql ×1
sql-update ×1
string ×1
textbox ×1
validation ×1
vb.net ×1
vba ×1
veracode ×1
webforms ×1