2013-01-16 6 views
1

단지 필드가 1 개인 양식과 제출 버튼이있는 단지 1 페이지의 간단한 사이트가 있습니다.WebMatrix 사이트의 서버 쪽에서 JavaScript를 사용하는 방법

전화 번호를 묻고 양식에 캡처 된 전화 번호 값과 함께 저장 프로 시저를 호출합니다. 일단 제출되면 사용자는 그 번호가 제출되었음을 알리고 사용자가 다른 전화 번호를 입력 할 수 있도록 페이지에 남습니다.

그래서 나는이처럼 보이는 cshtml 파일을 만든 :

@{ 
string pn=Request.Form["pn"] 
and then my code to call the stored procedure with pn as a parameter 
} 

오전 데 문제는이 페이지로 이동하면 서버 측이 저장된 프로 시저가 매개 변수를 예상 없다는 오류가 발생한다는 것입니다 그 제공되지 않았습니다.

따라서 pn 값이있는 경우에만 저장된 프로 시저를 호출하는 페이지의 onload을 실행하는 JavaScript 함수를 만들고 싶습니다.

어떻게 그렇게 않으며, 어디에서 코드를 배치해야합니다 (@{} 블록 내부 JS?)를

BTW, 지금, 나는 2 개 페이지를 가지고있다. 첫 번째는 서버 측 코드가없고 두 번째는 사본이며 서버 측 코드뿐입니다.

답변

1

처음에는 입력 클라이언트 측의 유효성을 검사하는 JavaScript 함수가 필요하지 않지만 양식 제출 여부 및 필드에 유효한 값이 있는지 테스트하기위한 서버 측 코드가 필요합니다. 같은

뭔가 : Introduction to Working with a Database in ASP.NET Web Pages (Razor) Sites을 :

@{ 
    if (IsPost) 
    { 
     string pn=Request.Form["pn"]; 
     if (!string.IsNullOrEmpty(pn)){ 
      /* your code to call the stored procedure */ 
     } 
    } 
} 

당신은이 주제를 깊이이 튜토리얼을보고 싶은 경우에

.

+0

고맙습니다. 그건 분명히 문제를 해결하지만 또 다른 종류를 소개합니다 ... 사용자가 전화 번호를 제출하면 사용자에게 다시 말한 HTML이 있습니다 '

전화 번호 걸기 전화 목록에 전화 번호 @pn이 추가되었습니다.

''그러나'pn '이 무엇인지 모르기 때문에 페이지가 해석되지 않습니다. 그래서 당신의 코드'else pn = "";;에 추가하려했지만 여전히 도움이되지 않습니다. '@ {}'에 포함 된 코드에서 설정할 수 있고 나중에 JS 또는 HTML에서 참조 할 수있는 "전역 변수"와 같은 방법이 있습니까? 다시 한번 감사드립니다. – Amarundo

+0

진실은 당신이 대답했습니다. 나는 나머지 질문에 대해 새로운 질문을 할 것이다. – Amarundo

관련 문제