我正在使用向导,用户可以在其中注册.有一个asp:RadioButtonList有两个选项,当radiobutton改变时,向导中的一些输入字段会改变.在每个字段上都有一些asp:Validators(例如asp:RequiredFieldValidator).问题是,当用户提交页面时,隐藏文本框的验证器仍然会弹出.
首先,这里是div标签,它改变了显示的文本框和RadioButtonList
<div id="divTxt1">
<asp:TextBox runat="server" CssClass="text" ID="txtNumber"
type="number"/>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1"
runat="server" ControlToValidate="txtNumber" EnableClientScript="true" ErrorMessage="Error" ToolTip="Error">*
</asp:RequiredFieldValidator>
</div>
<div id="divTxt2">
<asp:TextBox runat="server" CssClass="text" ID="txtNumber2"
type="number"/>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2"
runat="server" ControlToValidate="txtNumber2" EnableClientScript="true" ErrorMessage="Error2" ToolTip="Error2">*
</asp:RequiredFieldValidator>
</div>
<div id="radio">
<asp:RadioButtonList ID="RadioButtonList1" runat="server" RepeatDirection="Horizontal">
<asp:ListItem Value="1" Selected="True">Privat</asp:ListItem>
<asp:ListItem Value="2">Offentlig</asp:ListItem>
</asp:RadioButtonList>
</div>
Run Code Online (Sandbox Code Playgroud)
我试图使用类似下面的JQuery来解决它,我已经读过它应该做的伎俩,但不幸的是它没有:
$(document).ready(function () {
$('#<%= WizardStep1.ContentTemplateContainer.FindControl("RadioButtonList1").ClientID %> input').change(function () {
if ($(this).val() == "1") {
$('#txtNumber').toggle('fast');
$('#txtNumber2').toggle('fast');
ValidatorEnable($('#<%=WizardStep1.ContentTemplateContainer.FindControl("RequiredFieldValidator1").ClientID %>')[0], false);
ValidatorEnable($('#<%=WizardStep1.ContentTemplateContainer.FindControl("RequiredFieldValidator2").ClientID %>')[0], true);
}
if ($(this).val() == "2") {
$('#txtNumber').toggle('fast');
$('#txtNumber2').toggle('fast');
ValidatorEnable($('#<%=WizardStep1.ContentTemplateContainer.FindControl("RequiredFieldValidator2").ClientID %>')[0], …Run Code Online (Sandbox Code Playgroud) 我目前正在开发一种生成XML文件的服务,该服务遵循发票的UBL标准,因此我需要使用一些提供的XSD架构.
我正在使用.NET C#进行开发,并找到了一种可以将XSD映射到C#类的方法 - 使用XSD.exe - 这似乎没问题?
我面临的问题是,xsd文件中还有其他命名空间,这似乎会对我生成的类(xsd:imports)产生一些问题:
<!-- ===== xsd:schema Element With Namespaces Declarations ===== -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
xmlns:udt="urn:un:unece:uncefact:data:specification:UnqualifiedDataTypesSchemaModule:2"
xmlns:ccts="urn:un:unece:uncefact:documentation:2"
xmlns:ext="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2"
xmlns:qdt="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDatatypes-2"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
version="2.0">
<!-- ===== Imports ===== -->
<xsd:import namespace="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" schemaLocation="../common/UBL-CommonAggregateComponents-2.0.xsd"/>
<xsd:import namespace="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" schemaLocation="../common/UBL-CommonBasicComponents-2.0.xsd"/>
<xsd:import namespace="urn:un:unece:uncefact:data:specification:UnqualifiedDataTypesSchemaModule:2" schemaLocation="../common/UnqualifiedDataTypeSchemaModule-2.0.xsd"/>
<xsd:import namespace="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2" schemaLocation="../common/UBL-CommonExtensionComponents-2.0.xsd"/>
<xsd:import namespace="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDatatypes-2" schemaLocation="../common/UBL-QualifiedDatatypes-2.0.xsd"/>
<!-- ===== Root Element ===== -->
<xsd:element name="Invoice" type="InvoiceType">
...
Run Code Online (Sandbox Code Playgroud)
我使用以下命令运行xsd.exe:
xsd.exe /c C:\Users\tn\Downloads\os-UBL-2.0\os-UBL-2.0\xsd\maindoc\UBL-Invoice-2.0.xsd C:\Users\tn\Downloads\os-UBL-2.0\os-UBL-2.0\xsd\common\UBL-CommonAggregateComponents-2.0.xsd C:\Users\tn\Downloads\os-UBL-2.0\os-UBL-2.0\xsd\common\UBL-CommonBasicComponents-2.0.xsd C:\Users\tn\Downloads\os-UBL-2.0\os-UBL-2.0\xsd\common\UnqualifiedDataTypeSchemaModule-2.0.xsd C:\Users\tn\Downloads\os-UBL-2.0\os-UBL-2.0\xsd\common\UBL-CommonExtensionComponents-2.0.xsd C:\Users\tn\Downloads\os-UBL-2.0\os-UBL-2.0\xsd\common\UBL-QualifiedDatatypes-2.0.xsd C:\Users\tn\Downloads\os-UBL-2.0\os-UBL-2.0\xsd\common\CodeList_UnitCode_UNECE_7_04.xsd C:\Users\tn\Downloads\os-UBL-2.0\os-UBL-2.0\xsd\common\CodeList_MIMEMediaTypeCode_IANA_7_04.xsd C:\Users\tn\Downloads\os-UBL-2.0\os-UBL-2.0\xsd\common\CodeList_LanguageCode_ISO_7_04.xsd C:\Users\tn\Downloads\os-UBL-2.0\os-UBL-2.0\xsd\common\CodeList_CurrencyCode_ISO_7_04.xsd
Run Code Online (Sandbox Code Playgroud)
当我尝试使用生成的代码生成XML文件时,输出看起来像这样,缺少导入和namespacepreceders,并且最终导致验证失败.
<?xml version="1.0" encoding="utf-8"?>
<Invoice xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" …Run Code Online (Sandbox Code Playgroud) 在SQL Server 2008中,我有一个如下所示的用户表:
Userid
Username
UserBirthYear(int)
Run Code Online (Sandbox Code Playgroud)
当用户注册页面时,她选择了她的出生年份.前程序员(当然!)让用户选择正确的年份,但插入数据库的值是DateTime.Now ...
现在我需要从coloumn UserBirthYear中的每个用户中减去并保存到数据库15年.有500,000用户.如何最好地实现这一目标?
提前致谢.
我有以下代码(这里有伪值以便于阅读),其中第一个连接返回大量数据(数千行).SqlDataReader逐个读取它们reader.Read(),然后打开一个新连接以使用新值更新每一行:
using (SqlConnection conn = new SqlConnection(connString))
using (SqlCommand cmd = new SqlCommand("sp1", conn))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@param1", param1);
cmd.Connection.Open();
using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
try
{
string hash= utils.SHA256.Hashing((string)reader["firstRow"], saltValue);
using (SqlConnection conn2 = new SqlConnection(connString))
using (SqlCommand cmd2 = new SqlCommand("sp2", conn2))
{
cmd2.CommandType = CommandType.StoredProcedure;
cmd2.Parameters.AddWithValue("@param1", param1);
cmd2.Parameters.AddWithValue("@param2", param2);
cmd2.Connection.Open();
cmd2.ExecuteNonQuery();
}
}
catch (SqlException ex)
{
//something
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
但它会抛出一个错误:
[InvalidOperationException: Invalid attempt to call Read when …Run Code Online (Sandbox Code Playgroud)