2011-12-22 2 views
0

어떻게 MVC 3 컨트롤러에서 ASP 페이지(영문)을

VIEW passing data to DisplayResult in Controller 

    @Html.ActionLink(ShowQueries.Query, "DisplayResult", new { Qry = ShowQueries.Query }) 



    CONTROLLER 

    public ActionResult DisplayResult(String Qry)   
    { 
     List<QuerySet> QueryToExecute = new List<QuerySet>(); 
     return View(QueryToExecute); 

'QueryToExecute'에 외부 데이터베이스에 대해 실행해야하는 질의가에 매개 변수를 전달하지 별도의 서버. 나는 이것을 Webform (면도칼이 아닌) 유형의 '보기'에 매개 변수로 전달할 수 있기를 바랬습니다. 이 aspx 페이지는 외부 데이터베이스에 연결하기 위해 'ado'연결 정보가 필요합니다 ..... 그러나이 매개 변수를 전달할 수 없습니다.

ASP 페이지

<%@ Import Namespace="System.Data.OleDb" %> 
<%@ Import Namespace="System.Data.Odbc" %> 

<script runat="server"> 
sub Page_Load 
     Dim dbconn, sql, dbcomm, dbread 
     dbconn = New OleDbConnection("Provider=xxxx;Password=xxxx;User ID=xxxx;Data Source=xxxx;Initial Catalog=xxxx;Port=xxxx;") 
dbconn.Open() 
     sql = "Select ID from TABLE1" 
     dbcomm = New OleDbCommand(sql, dbconn) 
     dbread = dbcomm.ExecuteReader() <%-- Call this method within oledbcommand--%> 

제가 상기 코드의 SQL 있었던 파라미터에 상기 컨트롤러로부터 상기 파라미터를 전달할 수있는 방법에 대한 아이디어를 ??

답변

0

경로를 확인하고 매개 변수로 Qry를 정의하십시오. like
http://yoursitename/display/ {Qry}
아직 나를 못 보내 주시면 알려주세요.

+0

( "기본", // 경로 이름 "{컨트롤러}/{동작}/{QRY} '매개 변수, // URL ="홈 " 새로운 {컨트롤러, 액션 ="DisplayResult ", Qry = UrlParameter.Optional} // 매개 변수 기본값 ); –

+0

가독성을 높이기 위해 답을 수정하고 답안에 의견을 추가하십시오. – Rafay

+0

Thanks Satish. 이 경로를 포함하도록 global.asax를 업데이트했으며 컨트롤을 DisplayResult.aspx 뷰 (비 면도기)에 전달하는 컨트롤러를 볼 수 있습니다. 그래서 내가 다른 ASP에 대해 실행할 수 있도록 위의 ASPX 페이지 (매개 변수 SQL)에 값을 전달하는 방법 ...... 나는 asp.net에 익숙하지 않습니다. 다시 한 번 감사드립니다. – user1102621

0

왜 뷰에서 db 코드를 실행하고 있습니까? 이러한 종류의 MVC 포인트를 제거합니다. db를 호출하고, 데이터를 얻고, 뷰에 표시 할 데이터를 표시하는 것이 더 좋을 것입니다. routes.MapRoute 같은