programing

__doPostBack() 사용방법

subpage 2023. 4. 24. 23:12
반응형

__doPostBack() 사용방법

ASP에 비동기 포스트백을 작성하려고 합니다.인터넷 사용__doPostBack()어떻게 해야 할지 모르겠어요.나는 바닐라 자바스크립트를 사용하고 싶다.

버튼 클릭과 같은 간단한 것이 원인이 될 수 있습니다.__doPostBack()발화 이벤트난 그저 메커니즘이 어떻게 작동하는지 배우려는 것뿐이야.

예를 들어 다음과 같이 btnSave 버튼을 사용하여 웹 양식에서 이 작업을 시도할 수 있습니다.

<input type="button" id="btnSave" onclick="javascript:SaveWithParameter('Hello Michael')" value="click me"/>

<script type="text/javascript">
function SaveWithParameter(parameter)
{
  __doPostBack('btnSave', parameter)
}
</script>

그리고 뒤에 있는 코드에는 다음과 같은 내용을 추가하여 값을 읽고 조작합니다.

public void Page_Load(object sender, EventArgs e)
{
  string parameter = Request["__EVENTARGUMENT"]; // parameter
  // Request["__EVENTTARGET"]; // btnSave
}

한번 시도해보고 효과가 있었는지 우리에게 알려주세요.

또한 FancyBox/또는 jQuery Dialog에서 서버 측 컨트롤을 포스트백할 수도 있습니다.예를 들어, FancyBox-div의 경우:

   <asp:Button OnClientClick="testMe('param1');" ClientIDMode="Static"  ID="MyButton"  runat="server" Text="Ok" >
</asp:Button>

JavaScript:

function testMe(params) {
    var btnID= '<%=MyButton.ClientID %>';          
    __doPostBack(btnID, params);
}

서버측 페이지_로드:

 string parameter = Request["__EVENTARGUMENT"];
 if (parameter == "param1")
     MyButton_Click(sender, e);

여기 간단한 튜토리얼이 있습니다.__doPostBack()작동하다.

솔직히 말해서, 저는 그것을 많이 사용하지 않아요. 적어도 직접적으로는요.많은 서버 제어(예:Button,LinkButton,ImageButton, 의 일부GridView등)의 사용__doPostBack포스트백 메커니즘으로 사용할 수 있습니다.

이 투고에 추가하고 싶은 것이 있습니다.asp:buttonclientId를 사용해 봤는데, 효과가 없는 것 같습니다.

__doPostBack('<%= btn.ClientID%>', '');

다만, UniqueId 를 취득하면, 다음과 같이 서버에 투고됩니다.

__doPostBack('<%= btn.UniqueID%>', '');

이것은 장래에 다른 사람에게 도움이 될 가능성이 있기 때문에, 이것을 투고합니다.

오래된 질문입니다만, 덧붙이고 싶은 것이 있습니다.전화할 때doPostBack()서버 핸들러 방법을 사용하여 작업을 수행할 수 있습니다.

예를 들어 다음과 같습니다.

__doPostBack('<%= btn.UniqueID%>', 'my args');

서버에서 실행:

protected void btn_Click(object sender, EventArgs e)

논쟁할 수 있는 더 좋은 방법을 찾지 못했기 때문에, 나는 여전히 그것을 사용하고 있다.Request["__EVENTARGUMENT"].

다른 사람들이 말했듯이, 고객님은 고객님이 원하는 대로__doPostback() 메서드에 대한 컨트롤 ID.

__doPostBack('<%= btn.UniqueID %>', '');

서버에서 전송된 양식 값은 페이지의 필드 이름 속성에 의해 식별됩니다.

유니크한 이유ID가 기능하는 것은 Unique하기 때문입니다.서버 제어가 HTML로 렌더링될 때 ID와 이름은 실제로 동일합니다.

다음 기사에서는 유니크(Unique)가 무엇인지 설명합니다.아이디:

유니크ID 속성은 입력 필드(체크박스, 드롭다운목록 및 숨김 필드)의 HTML "name" 속성에 대한 값을 제공하는 데도 사용됩니다.UniqueID는 포스트백에서도 중요한 역할을 합니다.유니크포스트백을 지원하는 서버 컨트롤의 ID 속성은 __EVENTTARGET 숨김 필드에 대한 데이터를 제공합니다.ASP.그런 다음 NET Runtime은 __EVENTTARGET 필드를 사용하여 포스트백을 트리거한 컨트롤을 찾은 후 RaisePostBackEvent 메서드를 호출합니다.

src: https://www.telerik.com/blogs/the-difference-between-id-clientid-and-uniqueid

이렇게 하는 거야

    public void B_ODOC_OnClick(Object sender, EventArgs e)
    {
        string script="<script>__doPostBack(\'fileView$ctl01$OTHDOC\',\'{\"EventArgument\":\"OpenModal\",\"EncryptedData\":null}\');</script>";
        Page.ClientScript.RegisterStartupScript(this.GetType(),"JsOtherDocuments",script);               
    }

언급URL : https://stackoverflow.com/questions/3591634/how-to-use-dopostback

반응형