2011-10-28 3 views
0

(sortable listview 용) 데이터 소스를 정의하고 사소한 걸림돌을가집니다. 이 유사html 태그 값에 대한 문자열 표현

코드가 작동합니다

<asp:SqlDataSource ID="myDataSource" runat="server" 
    SelectCommand="SELECT [aField], [bField] " + 
        "FROM Suggestions WHERE stype = 'X'" 
    ConnectionString="<%$ ConnectionStrings:dbConnectionString %>" > 
</asp:SqlDataSource> 

내가 다른 변화에 검색 한 :

<asp:SqlDataSource ID="myDataSource" runat="server" 
    SelectCommand="SELECT [aField], [bField] FROM Suggestions WHERE stype = 'X'" 
    ConnectionString="<%$ ConnectionStrings:dbConnectionString %>" > 
</asp:SqlDataSource> 

하지만 진짜 선택 문자열이 훨씬 더 복잡하다, 나는 이런 식으로 뭔가를하고 싶어 조건 : concatentation catenation 문자열 태그 html asp.net

그러나 나는 그것에 관해서 아무것도 찾을 수 없다. 문자열식이 아닌 리터럴 문자. 그래서 나는 결국 데이터베이스의 함수로이 전체 복잡한 함수를 정의하는거야,하지만 지금은 내가 좋아하는 뭔가를 시도하려는 : qry_str()가 뒤에 코드에 정의되어

<asp:SqlDataSource ID="myDataSource" runat="server" 
    SelectCommand="<% qry_str('X'); %>" 
    ConnectionString="<%$ ConnectionStrings:dbConnectionString %>" > 
</asp:SqlDataSource> 

; 그러나, 특정 코드가 작동하지 않습니다 내가 코드 뒤에 문제라고 생각하지 않습니다

protected string qry_str(string t) 
{ 
    string s = 
    "SELECT [aField], [bField] " + 
      "FROM Suggestions WHERE stype = '" + t + "'"; 
    return "s"; 
} 

: 뒤에

코드는 다음과 같이 정의된다. 나는 그것이 asp.net이고 내가 그것을 부르는 방식이라고 생각한다. 내가하려는 일을하는 올바른 방법은 무엇입니까?

답변

1

일부 특성을 페이지 이벤트 처리기에서 설정할 수 있습니다 (워크 플로를 잘 적용 할 수있는 경우). 예를 들어, Page_Load에서 :

protected void Page_Load(object sender, EventArgs e) 
{ 
    string t = "X"; // calculate t here 
    myDataSource.SelectCommand = "SELECT [aField], [bField] FROM Suggestions WHERE stype = " + t; 
    // other actions 
} 
+0

고마워요! 2 분 안에 정답으로 표시 할 것입니다. – elbillaf

1

ASPX를 C# 인 것처럼 취급하는 것처럼 보입니다. 당신이 <%의 %> 마커를 추가 한 경우, 당신은 C#을 연결 구문을 사용할 수 있어야합니다 :

<asp:SqlDataSource ID="myDataSource" runat="server" 
        SelectCommand='<% ="SELECT [aField], [bField] " + 
             " FROM suggestions  " + 
             " WHERE sType='X'   " %>' 
        ConnectionString="<%$ ConnectionStrings:dbConnectionString %>" > 
</asp:SqlDataSource> 

당신은 문제가 사용하는 인용 '내부 인용 "내부 인용'으로 실행될 수를 - 그래서 당신은을 가진 끝낼 수 있습니다 Andrei의 대답과 함께 가십시오.