2017-03-24 1 views
0

나는 간단한 매개 변수가있는 웹 페이지를 여는 간단한 Window Forms 응용 프로그램이 있습니다.URL에서 쿼리 문자열 값으로 텍스트 상자를 채우는 방법

링크는 2 개의 텍스트 상자 필드와 제출 버튼이있는 페이지로 사용자를 보냅니다.

이 프로세스를 자동화하여 매개 변수 값을 가져 와서 텍스트 상자에 넣은 다음 제출을 클릭합니다.

이 내 현재 코드 내 창문 양식입니다 :

using System; 
using System.Windows.Forms; 
using System.Diagnostics; 

namespace WindowsFormsApplication1 { 

public partial class Form1 : Form { 

    public Form1() { 
     InitializeComponent(); 
    } 

    private void Form1_Load(object sender, EventArgs e) { 
     libLink.Links.Remove(libLink.Links[0]); 
     libLink.Links.Add(0, libLink.Text.Length, 
      "http://www.example.com/?UserName=value1&FirstName=value2"); 
    } 

    private void libLink_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { 
     ProcessStartInfo sInfo = new ProcessStartInfo(e.Link.LinkData.ToString()); 
     Process.Start(sInfo); 
    } 
} 
} 

나는 그 두 개의 텍스트 상자 필드를 채우고 다음 양식을 제출 URL에 이러한 매개 변수를 사용하는 스크립트를 만들 수 있습니까?

이 내 HTML 페이지입니다 : 나는 가능한 한 간단하게 내 코드를 유지하기 위해 노력 그래서 코딩에

<form action="/send" method="post" novalidate="novalidate"> 
     <input class="form-control" data-val="true" data-val-UserName="Wrong username" data-val-required="Enter a valid Username" id="Username" name="Username" placeholder="Username" type="text" value=""> 
     <input class="form-control" id="FirstName" name="FirstName" placeholder="First Name" type="text" value=""> 
     <button type="submit">Sign In</button> 
    </form> 

신종.

QueryStrings, JavaScriptJquery과 같은 가능한 방법을 살펴 보았지만이 문제에 어떻게 접근해야할지 모르겠다.

+1

PHP와 관련하여 어떤 차이가 있습니까? 태그가 제거되었습니다. –

+0

응용 프로그램 창 형태 또는 웹 응용 프로그램입니까? – LP13

+0

@JonStirling 제거를위한 죄송합니다 –

답변

-1

실제로이 작업을 수행하는 데는 몇 가지 방법이 있지만 JQuery를 사용하여 javascript에서 수행하는 방법을 설명 할 수 있습니다. "?"하는 위의로 구분되는 항목의 목록을 반환 같은 첫째 우리는 목록에 문자열을 분할

var url = "http://www.example.com/?UserName=value1&FirstName=value2" 
var params_string = url.split("?")[1] //UserName=value1&FirstName=value2 

:

우리는 우리가에 의해 시작 URL에 변수가 문자이지만 인덱스 1의 두 번째 항목 만 필요하므로 끝에 [1]을 추가하여 해당 비트 만 저장합니다.

다음으로 다시 나누어 개별 매개 변수를 얻습니다. 위와 같이 목록을 반환

var params_string_list = params_string.split("&") 
["UserName=value1","FirstName=value2"] 

다시 난과 같이 객체로 만들 것이라고를 분해해야합니다

var params = {} 
for(var i =0;i < params_string_list.length;i++){ 
    var temp = params_string_list[i].split("=") // looks like ["UserName","value1"] 
    params[temp[0]]= temp[1] 
} //params now looks like {"UserName":"value1","FirstName":"value2"} 

을이 쉽게 접근하고 사용할 수있게한다. 우리는 다음 형식으로 값을 설정하려면 다음을 수행 할 수 있습니다 문에서도 우리가 실수로 값을 "정의"를 전송하지 않도록 값이 객체로 존재가 확인되어

if(params.UserName){ 
    $('#Username').val(param.UserName); 
} 
if(params.FirstName){ 
    $('#FirstName').val(param.FirstName); 
} 

합니다.

희망이 도움이됩니다.

+0

입력 해 주셔서 감사합니다. 시험해 보겠습니다. 당신이 그것을 설명했던 방식에서, 그것은 정말로 물건을 깨끗이합니다. 입력란을 입력 한 후에 양식을 제출하는 방법은 무엇입니까? –

+0

조금 혼란 스럽습니다. OP는 자사의 Windows 양식 응용 프로그램을 말했지만, 허용 대답은 jQuery를 사용하여 – LP13

+0

@ LP13 나는 그의 코멘트를 upvote 싶었 스택 오버플로를 사용하여 새로운 오전, 혼란 롤 죄송합니다. –

관련 문제