2012-06-30 49 views
0

我已經繼承了1頁的Web應用程序進行更新,舊的經典ASP版本使用了左,右和中間函數。更新的應用程序使用C#ASP.NET。有沒有辦法導入VB的左,右和中間函數或一個函數來模擬這些函數。ASP.NET C#相當於vbScript/VB在示例中的左邊

如果字符串比C#下的長度參數短,C#子字符串函數似乎會返回一個錯誤。 (不要取笑我的C#代碼,我幾乎不用C#)。在填充所需的代碼將是真棒

<%@ Page language="c#" %> 
<%@ Import namespace="Microsoft.VisualBasic"%> 

<script runat="server" language="C#"> 

protected virtual string Auth(string uid) 
{ 
String xml; 

if (!String.IsNullOrEmpty(Request["uid"])) 
{ 

System.Data.DataTable dtTable = new System.Data.DataTable(); 


System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(ConfigurationManager.ConnectionStrings["LocalSqlServer"].ConnectionString); 
conn.Open(); 

string query = "SELECT id, blah, blah from users WHERE left(secretkey,30)='" + Request["uid"] + "'"; <--need to know how to use left function here 

blah blah blah... 

</script> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head id="Head1" runat="server"> 
<title>blah</title> 
</head> 
<body> 
<form id="Form1" method="post" runat="server"><% Page_Load(null, null); %></form> 
</body> 
</html> 
+2

您正在使用的左側函數是SQL,而不是c#。 – comecme

+0

所以你期望..如果它更短,那麼會發生什麼? –

+0

以下應該會有所幫助。 http://stackoverflow.com/questions/1722896/vb-to-c-sharp-functions – N30

回答

1

就像我已經在我的評論說,在wuestion,你正在使用SQL的left函數,所以你使用vb或c#沒關係。

0

使用等同於左,中,VB的從一從我的評論鏈接的問題,

Left()  = "string".Substring(0, length) 
Right()  = "string".Substring("string".Length - desiredLength) 
Mid()  = "string".Substring(start, length) 
0

第一個問題是你是不是調用C#的離開了這個例子。

string query =「從用戶處選擇id,blah,blah WHERE left(secretkey,30)='」+ Request [「uid」] +「'」;

您使用的是這就是爲什麼你沒有得到在網頁中的任何錯誤的SQL Server左側功能看http://msdn.microsoft.com/en-us/library/ms177601.aspx

問題二是祕密密鑰是表所以,除非你檢索其值到客戶端,你永遠不能使用VB的左側功能

所以我打算假設這只是一個超級糟糕的例子,你正在尋找更像這樣的東西。

VAR祕密密鑰= 「ABCDEFGHIJKLMNOP」

串查詢= 「選擇等等,等等從用戶那裏祕密密鑰=」 + secretkey.Substring(0,30)