2017-11-21 3 views
0

에서 컨트롤러 뷰를 형성 -통과 값 보려면 MVC .NET

여기

OP .. HTML 드롭 & 예에서 내 선택된 값 버튼 클릭의 값이다 내가들을 넣을 수있는 곳에서 i just want to pass both two values to my controller 내 SQL 쿼리에서. 난 내 @UrlAction에서 두 변수를 전달할 수있는 방법을 그래서 난 컨트롤러에 대한

function details() 

{                        
var op; 
var e = document.getElementById("test").Value; 

$("mydropdown option").each(function (i) { 

    var op = $(this).attr('selected').val(); 
}) 

window.open('@UrlAction("UserLayerView", "home", new {layertype = e, layername= op })') 
} 

MYCONTROLLER 사람들을 얻을 수 있습니다 : -

당신은 클라이언트 측 및 서버 측 코드를 혼합하는
public ActionResult UserLyerView(DataTable as dt, String layertype, String layername) 
{ 
string query = "select column name from" + layertype + "Where name =" +layername; 
} 
+0

위험이 로빈슨입니다! 절대로 사용자 입력을 SQL 쿼리에 연결하지 마십시오. 쿼리 문자열에서 데이터베이스 서버를 완전히 pwn 할 수 있습니다. * - SQL 매개 변수를 살펴보십시오. 지금; 여기에 어떤 질문이 있습니까? 'UrlAction'은 효과가 있습니까? (및 : 'Url.Action (...)'이 아니어야합니까?) 올바른 결과를 제공합니까? 창문 열면 어떻게 될까? 기본적으로 : 당신의 기대와 현실은 어떤면에서 차이가 있습니까? –

+0

UrlAction이 작동하지 않습니다. –

+0

그리고 "작동하지 않습니다"는 의미는 무엇입니까? 컴파일 오류로 실패 했습니까? 잘못된 결과를주는 것입니까? 런타임시 예외가 발생합니까? 'UrlAction (...) '대신'Url.Action (...)'을 시도 했습니까? –

답변

1

. eop 변수는 클라이언트 측 javascript입니다. Url.Action은 서버 측 면도기 코드입니다. 은 아직 존재하지 않으므로 클라이언트 측 변수는 서버 측 조작에서 사용할 수 없습니다. (때 : Url.Action은 의미가 없습니다). 그래서; 연결을 통해 수동으로 동적으로 URL을 작성해야합니다. 은 입력을 숨겨진 양식 (아마도 action="get")으로 설정하고 제출할 수 있습니다.