webforms 相关问题

Web窗体是ASP.NET Web框架的一部分。它是您可以用来创建Web应用程序的编程模型之一。 Web窗体是用户通过其浏览器请求的页面,它们构成了为Web应用程序提供外观的用户界面(UI)。

C#如何在下一个命令之前按顺序读取串口通信中的响应?

我正在用C#编写一个程序,它处理串行端口通信、写入命令和读取响应。我向 COM 端口发送了大约 50 个命令。在我的屏幕上,我需要显示命令...

回答 1 投票 0

必填字段验证器提交问题

我有一个为小型就餐创建的网络表单(例如表单 1),带有提交按钮。 要验证的字段有姓名(文本框)性别(单选按钮)等。 同一页面上此表格下方是

回答 3 投票 0

如何在方法之后保留列表项

我正在 C# 中使用 ASP.NET Web 窗体 我有一个 GridView,其中包含可用房间列表,每个房间旁边的列中都有一个“预订”按钮。单击“保留”时,我想要一个对象...

回答 1 投票 0

GRIDVIEW 动态更改单元格或行字体

使用“GRIDVIEW” 我有通过包含 91 种不同字体名称的数据集填充的 gridview (不是 datagridview)。 Gridview 有两列。 第 0 列包含文本“测试文本&...

回答 1 投票 0

如何修复“未捕获的语法错误:意外的标记”<'" on a deployed ASP WebForms website

我的一个网站遇到了一个问题,它在开发时工作得很好,但是一旦发布并部署在 IIS 上,仅帐户页面的样式就不再...

回答 1 投票 0

如何使用c#将RTF转换为PDF

我在使用 PDFSharp 版本 1.50 将 .RTF 文件格式转换为 .PDF 时遇到一些问题,我的输出结果是一个空白页,我非常感谢您的帮助和示例代码。 这是我的班级...

回答 1 投票 0

VB.Net Webforms 应用程序:Hangfire 后台作业库启动时出现“无法投射对象”错误

我正在开发一个 Asp.Net 项目,我试图为后台作业添加“Hangfire”库。我已经根据文档安装了所有必需的软件包,并创建了测试数据...

回答 2 投票 0

页面方法返回未定义的响应

我正在将 Visual Studio 2022 用于 .NET 4.7.2 项目。 我创建了一个简单的页面来利用网络方法,但它不适合我。即使在 Web 方法中也没有命中断点。 我变得不确定...

回答 1 投票 0

如何在需要时将文本框边框突出显示为红色?

如果出现验证错误,我应该在必填字段验证器控件上使用什么属性使文本框变为红色? 这是我的代码: 如果出现验证错误,我应该在必填字段验证器控件上使用什么属性以使文本框变为红色? 这是我的代码: <asp:Label ID="lblFirstName" runat="server" AssociatedControlID="txtFirstName" Text="First Name:" CssClass="reg-labels" /> <br /> <asp:TextBox ID="txtFirstName" runat="server" CausesValidation="true" MaxLength="60" CssClass="standard_width"/> <asp:RequiredFieldValidator ControlToValidate="txtFirstName" runat="server" ID="valFirstName" ValidationGroup="grpRegistration" ErrorMessage="First Name is required." Text="*" /> ASP.Net Web 表单内部使用位于 aspnet_client\{0}\{1} 文件夹中的 Javascript 框架来处理验证等。它们基本上是由属性 ClientScriptsLocation 确定的 尝试覆盖默认框架函数,将其保留在页面中,包括附加行来设置 control_to_validate 颜色 document.getElmentById(val.controltovalidate).style.border='1px solid red'; <asp:TextBox ID="txtFirstName" runat="server" CausesValidation="true" MaxLength="60" CssClass="standard_width" /> <asp:RequiredFieldValidator ControlToValidate="txtFirstName" runat="server" ID="valFirstName" ValidationGroup="grpRegistration" ErrorMessage="First Name is required." Text="*" /> <asp:Button Text="Super" ID="btnSubmit" CausesValidation="true" runat="server" /> JS <script type="text/javascript"> function ValidatorUpdateDisplay(val) { if (typeof (val.display) == "string") { if (val.display == "None") { return; } if (val.display == "Dynamic") { val.style.display = val.isvalid ? "none" : "inline"; return; } } val.style.visibility = val.isvalid ? "hidden" : "visible"; if (val.isvalid) { document.getElementById(val.controltovalidate).style.border = '1px solid #333'; } else { document.getElementById(val.controltovalidate).style.border = '1px solid red'; } } </script> 在不重载任何内容的情况下,为您的 <asp:*Validator 标签提供 CssClass="garbage" 属性。 在样式表中创建 .garbage { display: none; } .garbage[style*=visible] + input, .garbage[style*=visible] + select, .garbage[style*=visible] + textarea { background-color: #ffcccc; border: 1px solid #ff0000; } 任何紧跟验证器的表单控件都将在无效数据上突出显示。 编辑: 我见过一些在 Chrome 中强制重绘的方法,包括纯 css 解决方案:transform: translateZ(0); Murali 的答案效果很好,但如果有人感兴趣的话,我为自己推出了一个 jQuery 版本。 根据官方文档(https://msdn.microsoft.com/en-us/library/yb52a4x0.aspx),我能够获取每个验证器并检查它是否isvalid,如果不是,使用 errormessage 属性填充我自己的通知系统(setStatusMessage() 是我编写的函数,请随意使用任何其他类型的状态消息提示,例如 alert() 或自行推出)。 /* * Validation Catcher - Sean D Kendle - 9/24/2015 * Catch validation events and add to status messages system */ $(document).on("submit", function () { $.each(Page_Validators, function (i, v) { var strControlToValidateID = v.controltovalidate; var $controlToValidate = $("#" + strControlToValidateID); var arrInvalidControls = new Array(); //collection of all invalid field ids for later if (!v.isvalid) { $controlToValidate.addClass("error"); //custom error class, optional $controlToValidate.css("border-color", "#D00"); //manually set border-color per OP's question $(".error").eq(0).focus(); /*set focus to top-most invalid field on error, or you can use the v.focusOnError property to check if validator has this set (string "t" if true), but I don't want to have to set this every time*/ arrInvalidControls.push(strControlToValidateID); //collect all invalid field ids for later $(v).addClass("redtext"); //custom class - allows me to make all errors red without having to add a ForeColor property to every validator setStatusMessage(v.errormessage, "red", -1); // setStatusMessage is a function I wrote, replace with another alert system if desired, or delete this line } else { /*the following prevents control being seen as valid if there are two or more validators for the control - example: required field validator, then custom or regex validator (first would be invalid, second would be valid for empty field)*/ if (!$.inArray(strControlToValidateID, arrInvalidControls)) { $controlToValidate.removeClass("error"); $controlToValidate.css("border-color", ""); } else { //console.log(strControlToValidateID + " is already invalid."); } } }); }); 我希望这对某人有帮助! 好吧,令您失望的是,没有直接的方法(参见https://stackoverflow.com/a/5249021/145682) 但是,您可以使用 CustomValidator。这是定义它的一种方法: <asp:TextBox ID="txtbx" runat="server"></asp:TextBox> <asp:CustomValidator ID="customValidator" runat="server" ValidationGroup="submit" ControlToValidate="txtbx" ClientValidationFunction="foo" ErrorMessage="*"></asp:CustomValidator> 记下 ClientValidationFunction。必须写成如下: function foo(sender, e) { var value = e.Value; console.log('Value: ', e.Value); var ctrlid = sender.controltovalidate; var targetControl = document.getElementById(ctrlid); if (vowels.indexOf(value[0].toLowerCase()) == -1) { console.log('true-executed'); e.isValid = false; targetControl.style.borderColor = 'red'; } else { console.log('else-executed'); e.isValid = true; targetControl.style.borderColor = ''; } } controltovalidate的sender属性将为您提供您正在寻找的控件的ID;换句话说,你的ControlToValidate。并且, Value 的 e 属性应该为您提供目标控件的值。 另一个选择是您可以编写自己的服务器控件来完成这项工作:http://msdn.microsoft.com/en-us/library/aa719624(v=vs.71).aspx Murali 的答案对我来说很有效,因为数据发生了变化,但在回发时,所有字段都呈现为好像没有验证错误一样。我发现 ASP.NET 延迟加载 ValidatorUpdateDisplay,因此客户端重写只有在通过 onload 验证后才会生效。我猜是版本或实现上的差异阻碍了我,但其他解决方案(包括一些带有 CSS 的解决方案)也不起作用。 最终,我找到了一个将 Murali 的答案与 Dillie-O 的解决方案相结合的解决方案:使用必填字段验证器更改文本框颜色。请不要使用扩展器控制 <div class="pad-left"> <asp:CompareValidator ID="comvIncTaxable" runat="server" ControlToValidate="tbIncTaxable" Display="Dynamic" Operator="DataTypeCheck" Type="Currency" CssClass="red-border" ErrorMessage="Please enter a currency value."> <span></span> </asp:CompareValidator> <asp:TextBox runat="server" ID="tbIncTaxable"></asp:TextBox> </div> <script type="text/javascript"> $(function () { setValidatedBordersOnLoad(); }); function ValidatorUpdateDisplay(val) { if (typeof (val.display) == "string") { if (val.display == "None") { return; } if (val.display == "Dynamic") { val.style.display = val.isvalid ? "none" : "inline"; if (val.className == 'red-border' && val.controltovalidate) { if (val.isvalid) { document.getElementById(val.controltovalidate).style.border = '1px solid #ccc'; } else { document.getElementById(val.controltovalidate).style.border = '1px solid red'; } } return; } } val.style.visibility = val.isvalid ? "hidden" : "visible"; } function setValidatedBordersOnLoad() { for (var i = 0; i < Page_Validators.length; i++) { var val = Page_Validators[i]; if (val.className == 'red-border' && val.controltovalidate) { var ctrl = document.getElementById(val.controltovalidate); if (ctrl != null && ctrl.style != null) { if (!val.isvalid) ctrl.style.border = '1px solid red'; else ctrl.style.border = '1px solid #ccc'; } } } } </script> 此解决方案的好处是,您只需将 CssClass='red-border' 添加到验证器即可选择哪些验证器获得此特殊处理。就我而言,我只希望在特定网格内的字段上执行此行为,其中单元格位置不应更改,但仍然希望在表单的其他位置使用开箱即用的功能。 这是对帕特里克回答的评论,因为我无法发表评论。对于多个验证器(例如 regexp 和 required),为中间的隐藏验证器堆栈附加样式: .garbage[style*=visible] + input, .garbage[style*=visible] + select, .garbage[style*=visible] + textarea .garbage[style*=inline] + input, .garbage[style*=inline] + select, .garbage[style*=inline] + textarea, .garbage[style*=visible] + .garbage[style*=hidden] + input, .garbage[style*=visible] + .garbage[style*=hidden] + select, .garbage[style*=visible] + .garbage[style*=hidden] + textarea .garbage[style*=inline] + .garbage[style*=hidden] + input, .garbage[style*=inline] + .garbage[style*=hidden] + select, .garbage[style*=inline] + .garbage[style*=hidden] + textarea { background-color: #ffcccc; border: 1px solid #ff0000; }

回答 6 投票 0

asp.net c# to json 如何存储数据而不覆盖现有数据

所以我在 JSON 文件和 C# 之间转换数据时遇到了很多麻烦。到目前为止,我可以通过 Asp.net 表单轻松地将数据添加到 JSON 文件,这很棒,但它会覆盖任何现有数据......

回答 2 投票 0

使用 Mongoose 和 Expressjs 在本地主机上创建 API 并从前端获取它

所以我有一个连接到 Mongodb 的 API,通常可以使用 postman 等服务添加数据。然而,当我尝试使用网络表单做同样的事情时,却出现了 400 错误...

回答 1 投票 0

C# WebForms RDLC 报告 |没有为数据集提供数据源实例

我正在创建一个 C# 报告解决方案,其中包含多个 RDLC 报告以及每个 RDLC 文件后面的 ASPX 视图页面,并且这些报告使用本地数据集 (.xsd) 中的数据提供数据。数据集...

回答 1 投票 0

如何将.aspx页面设置为MVC默认页面?

得到了一个带有标准 Asp.Net (aspx) 页面的项目,与 MVC 3 Razor 控制器/视图一起运行。想要将aspx页面设置为默认页面。目前它正在选择以下路线...

回答 1 投票 0

如何以编程方式检查我在 USCIS 的申请状态?

每天,我都需要在USCIS网站(https://egov.uscis.gov/casestatus/landing.do)上查看我的签证申请状态。由于手动执行起来很麻烦,我在 UIPath 中创建了自动化来......

回答 4 投票 0

ASP.NET Web 表单 - Request.Form["SAMLResponse"] 值不能为 null。参数名称:s

我一直在尝试通过 saml 使用 azure SSO 登录我的 Web 表单应用程序,但我无法从 Request.Form["SAMLResponse"] 获取 SAMLResponse,它总是返回 null。我一直在用...

回答 1 投票 0

Vertica Csv 复制命令

我是网络开发新手。我正在使用 Asp.net webform 框架和 c#。我的项目就像 ETL 工具, 我的要求是,我在本地有 csv 文件。并插入到数据库表中。 例如...

回答 1 投票 0

服务器代码位于IIS服务器的什么位置?

我正在尝试导航托管在 IIS 上的 dotnet 代码库。我只能看到 aspx 文件,而看不到 csharp 文件。我认为某处应该有一个 App_Code 文件夹,但我找不到它......

回答 1 投票 0

离线使用AJAX

我将应用程序部署到本地服务器,无需访问互联网,并且我的所有资源都在本地并被引用。但是,当它运行时,它会自动生成以下代码 <question vote="-1"> <p>我将应用程序部署到本地服务器,无需访问互联网,并且我的所有资源都在本地并被引用。但是,当它运行时,它会自动生成以下代码</p> <pre><code>&lt;script src=&#34;http://ajax.aspnetcdn.com/ajax/4.6/1/webForms.js&#34; type=&#34;text/javascript&#34;&gt;&lt;/script&gt; &lt;script src=&#34;http://ajax.aspnetcdn.com/ajax/4.5.1/1/MicrosoftAjax.js&#34; type=&#34;text/javascript&#34;&gt;&lt;/script&gt; &lt;script src=&#34;http://ajax.aspnetcdn.com/ajax/4.5.1/1/MicrosoftAjaxWebForms.js&#34; type=&#34;text/javascript&#34;&gt;&lt;/script&gt; </code></pre> <p>我已经说过本地文件,但我不知道如何使用它们而不是链接。</p> </question> <answer tick="false" vote="0"> <ol> <li>将文件复制到本地:</li> </ol> <p>从 ASP.NET CDN 下载脚本文件(webForms.js、MicrosoftAjax.js、MicrosoftAjaxWebForms.js) 将它们放置在应用程序目录结构中合适的文件夹中,例如“脚本”或“资源”文件夹。</p> <ol start="2"> <li>更新脚本参考: 在您的 ASPX 页面中: 将 CDN 链接替换为指向本地文件的路径。例如: HTML</li> </ol> <p>确保路径相对于 ASPX 页面的位置正确。</p> <ol start="3"> <li>检查脚本管理器配置: 如果您在页面中使用 ScriptManager 控件,请确保其 EnableCdn 属性设置为 false 以防止自动 CDN 引用:</li> </ol> <p><asp:ScriptManager EnableCdn="false" runat="server"></p> </answer> </body></html>

回答 0 投票 0

razor 中的内联身份验证

我从 .NET 4 上的 VB.NET Webform 转向 C# 和 ASP.NET Core 6 Razor 页面。 我们的用户通过注入标头中的网络信息进行身份验证。 以前我们会检查 g 中的有效标头...

回答 1 投票 0

当 TextMode 为 MultiLine 时,将 ASP.NET TextBox 屏蔽为密码

我有一个 ASP.NET 文本框,其 TextMode 设置为 MultiLine。文本框的内容应显示为密码而不是纯文本。 无法同时将 TextMode 设置为两者

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.