在 ASP.NET 内通过内联 C# 将字符串转换为 GUID
String to a GUID via inline C# within ASP.NET
是否可以在 ASP.NET 中通过内联 C# 将字符串转换为 GUID?在此示例中,我想为 CustomerId
传递一个字符串,并将其格式化为 GUID,因为存储过程需要一个唯一标识符。
<asp:SqlDataSource ID="myDataSOurce" runat="server" ConnectionString="<%$ ConnectionStrings:myConnectionString %>" SelectCommand="GetUserData" SelectCommandType="StoredProcedure">
<SelectParameters>
<asp:Parameter DefaultValue="<% new Guid(customerId).ToString() %>" Name="CustomerId" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
当我尝试此操作时,我收到来自 SQL 服务器的错误:
Error converting data type nvarchar to uniqueidentifier.
试试这个:
<asp:Parameter DefaultValue="<% Guid.NewGuid() %>" Name="CustomerId" Type="String" />
</SelectParameters>
是否可以修改您的存储过程以接受字符串,然后在您的 SQL 代码中将该字符串转换为 uniqueidentifier。如果是,请检查此
answer
对该答案有几条评论用更少的代码实现了同样的效果。
但是,如果这不可能,请查看是否可行。
<asp:SqlDataSource ID="myDataSOurce" runat="server" ConnectionString="<%$ ConnectionStrings:myConnectionString %>" SelectCommand="GetUserData" SelectCommandType="StoredProcedure">
<SelectParameters>
<asp:Parameter DefaultValue="<% System.Guid.Parse(customerId) %>" Name="CustomerId" DbType="Guid" />
</SelectParameters>
是否可以在 ASP.NET 中通过内联 C# 将字符串转换为 GUID?在此示例中,我想为 CustomerId
传递一个字符串,并将其格式化为 GUID,因为存储过程需要一个唯一标识符。
<asp:SqlDataSource ID="myDataSOurce" runat="server" ConnectionString="<%$ ConnectionStrings:myConnectionString %>" SelectCommand="GetUserData" SelectCommandType="StoredProcedure">
<SelectParameters>
<asp:Parameter DefaultValue="<% new Guid(customerId).ToString() %>" Name="CustomerId" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
当我尝试此操作时,我收到来自 SQL 服务器的错误:
Error converting data type nvarchar to uniqueidentifier.
试试这个:
<asp:Parameter DefaultValue="<% Guid.NewGuid() %>" Name="CustomerId" Type="String" />
</SelectParameters>
是否可以修改您的存储过程以接受字符串,然后在您的 SQL 代码中将该字符串转换为 uniqueidentifier。如果是,请检查此 answer
对该答案有几条评论用更少的代码实现了同样的效果。 但是,如果这不可能,请查看是否可行。
<asp:SqlDataSource ID="myDataSOurce" runat="server" ConnectionString="<%$ ConnectionStrings:myConnectionString %>" SelectCommand="GetUserData" SelectCommandType="StoredProcedure">
<SelectParameters>
<asp:Parameter DefaultValue="<% System.Guid.Parse(customerId) %>" Name="CustomerId" DbType="Guid" />
</SelectParameters>