質問

書いウェブページASP.NET.しているのか教えてくださいJavaScriptコード、そして、提出ボタンをクリックイベントです。

できるメソッドの呼び出しを作成したASP JavaScriptのクリックします。

役に立ちましたか?

解決

でもだいたいでAjaxを利用したその他の方法によっては通常のASP.NET 可起きたとき、皆様からのあたたかいごまで続くことになるだけでなく、他のライブラリ):

少しトリッキーなことになりました。:)

ん。コードでファイルを想定をご利用のC#と.NET framework2.0以降)以下のように追加インターフェースのページのクラスにかしらの利点があるのでしょうか

public partial class Default : System.Web.UI.Page, IPostBackEventHandler{}

ii.この追加使用 タブ-タブ この機能コードファイル:

public void RaisePostBackEvent(string eventArgument) { }

iii.おonclickイベントJavaScriptで書くには、次のコード:

var pageId = '<%=  Page.ClientID %>';
__doPostBack(pageId, argumentString);

この通り、RaisePostBackEvent'メソッドコードでファイルの'eventArgument'を'argumentStringだから、JavaScriptです。現在では、電話その他のイベントです。

P.S:る'アンダースコア-アンダースコア-doPostBack'...とがあってしかるべきだと思うなスペースが並び---なんだか、大量破壊兵器なくすべきれキャラ!

他のヒント

__doPostBack() 方法により確かなものになるはずだ。

他のソリューション(非常hackishは単純に追加目に見えないASP ーボタンのマークアップをクリックでJavaScriptの方法です。

<div style="display: none;">
   <asp:Button runat="server" ... OnClick="ButtonClickHandlerMethod" />
</div>

からJavaScriptを取得する参照ボタンを使用 ClientID 呼び出し .click() 方法です。

var button = document.getElementById(/* button client id */);

button.click();

Microsoft AJAX図書館 ログインが必要です。きものを自社ソリューションをデザインに電話を自分のaspx(基本的に)スクリプトファイルです。純ます。

であることを、Microsoft AJAX図書館があります。インストール後、参照、あなただけの追加ラインのページ負荷またはinit:

Ajax.Utility.RegisterTypeForAjax(GetType(YOURPAGECLASSNAME))

そしていようなもの:

<Ajax.AjaxMethod()> _
Public Function Get5() AS Integer
    Return 5
End Function

そして、話ができないでページ:

PageClassName.Get5(javascriptCallbackFunction);

最後のパラメータの関数呼び出しは、必ずjavascriptのコールバック関数を実行する場合は、AJAXによる請求が返されます。

行うことができるので非同期です。純Ajax PageMethods.見 こちらの または こちらの.

静的強力型プログラムは常に感じても自然にいだから抵抗学習JavaScriptはもちろんHTML、CSSがこことここが大いに参考になったのwebフロントエンドでは自分の願います。私は何でもこのような残念ページへの直行動をOnLoadイベントというコードの純粋なC#.

ましたがっている場合されますので、webサイトは、オープンマインのことをよく考えるようになりウェブ志向、使いやすいクライアント側のもので、サーバの逆).I love ASP.NET ケがでて MVCが、このようなものがより簡単に、隠され、分離のクライアントとサーバので混同新人が実際に終了する重要な要素になりものをもっと苦労することもあります。

私のアドバイスについての基本的なJavaScript(登録方法についてのイベントの取得、DOMオブジェクトを操作CSSなど) すぐにウェブプログラミングも楽しいまでもないのではなく.多くの人が教えてくれた異なるのAjaxライブラリが、こちらでお分かりになったので、実際にAjax例ので、ここにいるにすぎないことが分かる。場合に慣れていない、Ajaxでは、非同期HTTPリクエリフレッシュコンテンツ(うを行うサーバ側の行動にシナリオなしでリロードのページやフル可.

クライアント側:

<script type="text/javascript">
var xmlhttp = new XMLHttpRequest(); // Create object that will make the request
xmlhttp.open("GET", "http://example.org/api/service", "true"); // configure object (method, URL, async)
xmlhttp.send(); // Send request

xmlhttp.onstatereadychange = function() { // Register a function to run when the state changes, if the request has finished and the stats code is 200 (OK). Write result to <p>
    if (xmlhttp.readyState == 4 && xmlhttp.statsCode == 200) {
          document.getElementById("resultText").innerHTML = xmlhttp.responseText;
    }
};
</script>

それだけです。その名は誤解を招く恐れがあるので平文またはJSONとして、こちらをクリックして下さいな形式をサポートしています。 jQuery 提供をもっと簡単なインタフェースを作Ajaxが呼び出しの中の簡素化その他のJavaScriptタスク).

申請を承認した場合は、HTTPポストまたはHTTP-GETでなくて、ホームページができるポストへのサービスの話を聞くためにHTTP要求など RESTful APIに含まれています。のASP.NET MVC4Web APIの設定はサーバサイドwebサービスリクエストを処理風です。しかし、多くの人が知らないことを追加することもできAPIコントローラへのwebフォームプロジェクトしていきたいと考えておりまAjax対応の電話のようです。

サーバ側:

public class DataController : ApiController
{
    public HttpResponseMessage<string[]> Get()
    {
        HttpResponseMessage<string[]> response = new HttpResponseMessage<string[]>(
            Repository.Get(true),
            new MediaTypeHeaderValue("application/json")
        );

        return response;
    }
}

グローバルasax

それだけで登録を行うHTTPのルートだ。asaxファイル、ASP.NET ますノウハウを直接うになります。

void Application_Start(object sender, EventArgs e)
{
    RouteTable.Routes.MapHttpRoute("Service", "api/{controller}/{id}");
}

AJAXとコントローラこにすればよいでしょうかはサーバーの時に非同期を実行できるサーバ側で動作します。このトの柔軟性のJavaScriptおよび電力のデザインインタフェースASP.NETは、訪れる人がサイトのよりよいあります。を犠牲にせずに何でも、最高の両方を楽しめます。

参考文献

私のブログ かにのフェッチ&ショー SQL ServerデータベースのデータASP.NET ページをAjax(jQuery) がお手伝いいたします。

JavaScriptコード

<script src="http://code.jquery.com/jquery-3.3.1.js" />
<script language="javascript" type="text/javascript">

    function GetCompanies() {
        $("#UpdatePanel").html("<div style='text-align:center; background-color:yellow; border:1px solid red; padding:3px; width:200px'>Please Wait...</div>");
        $.ajax({
            type: "POST",
            url: "Default.aspx/GetCompanies",
            data: "{}",
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            success: OnSuccess,
            error: OnError
        });
    }

    function OnSuccess(data) {
        var TableContent = "<table border='0'>" +
                                "<tr>" +
                                    "<td>Rank</td>" +
                                    "<td>Company Name</td>" +
                                    "<td>Revenue</td>" +
                                    "<td>Industry</td>" +
                                "</tr>";
        for (var i = 0; i < data.d.length; i++) {
            TableContent += "<tr>" +
                                    "<td>"+ data.d[i].Rank +"</td>" +
                                    "<td>"+data.d[i].CompanyName+"</td>" +
                                    "<td>"+data.d[i].Revenue+"</td>" +
                                    "<td>"+data.d[i].Industry+"</td>" +
                                "</tr>";
        }
        TableContent += "</table>";

        $("#UpdatePanel").html(TableContent);
    }

    function OnError(data) {

    }
</script>

ASP.NET サーバサイド機能

[WebMethod]
[ScriptMethod(ResponseFormat= ResponseFormat.Json)]
public static List<TopCompany> GetCompanies()
{
    System.Threading.Thread.Sleep(5000);
    List<TopCompany> allCompany = new List<TopCompany>();
    using (MyDatabaseEntities dc = new MyDatabaseEntities())
    {
        allCompany = dc.TopCompanies.ToList();
    }
    return allCompany;
}

Microsoft AJAX図書館にはログインが必要です。きものを自社ソリューションをデザインに電話を自分のaspx(基本的に)スクリプトファイルです。純ます。

これは、図書館というAjaxProた、MVPの名前 マイケル-シュヴァルツ.このた図書館ませんでした書面によるMicrosoft.

利用していAjaxProが大きく進んでおり、現在も使われている図書館そのものをお勧めします簡単にコールバックはサーバー通信を行います。な機能は、Microsoft版Ajaxのない課題です。しかし、私は、とにかくマイクロソフト社のAjaxは、使用する場合も必要です。いろんなwebブラウザでJavaScriptの実行をいくつかの本当に複雑な機能をいただく事株式会社エンパシは、Microsoft社からwindowsだけで落とすので更新。

やすいですともシナリオでは、同期/非同期)したい場合はトリガ、サーバサイドイベントハンドラは、例えば、ボタンをクリックします。

トリガイベントハンドラの制御:追加した場合、ScriptManagerページにてればそれはステップ1です。

  1. 以下のエントリを追加するページトスクリプト部

    //<![CDATA[
    var theForm = document.forms['form1'];
    if (!theForm) {
        theForm = document.form1;
    }
    function __doPostBack(eventTarget, eventArgument) {
        if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
            theForm.__EVENTTARGET.value = eventTarget;
            theForm.__EVENTARGUMENT.value = eventArgument;
            theForm.submit();
        }
    }
    //]]>
    
    1. 書サーバーサイドイベントハンドラのためのコントロー

      protected void btnSayHello_Click(オブジェクト送EventArgs e) { Label1.Text="こんにちは。";}

    2. 追加クライアント機能のサーバーサイドイベントハンドラ

      機能SayHello(){ __doPostBack("btnSayHello","");}

に置き換え"btnSayHello"に上記コードでコントロのクライアントidです。

この場合には制御内プールパネルのページは更新されます。ることはとても簡単です。

ひどいったところにセブンイレブンがある:注意するお客様のidによって異なりますのでくださいますようお願いい世代の方針により定義されClientIDMode物件です。

ようにしていを実施するものですパワーを持っている。のページ 投稿が私のコードになって実行されます。私はデバッグの ページのRaisePostBackEventせください。ひとつわかった 異なるとは思うユーザー管理の代わりにaspx ページです。

れば誰でMerk、トラブルの間に、このビル街は潰れてほしい。:

できたらユーザー管理、その作成も必要ですのPostBackEventHandlerのページです。およびそれを呼び出すことができ、ユーザーコントロールのPostBackEventHandlerを呼び出しです。ついて(通知)"がありました。

public void RaisePostBackEvent(string _arg)
{
    UserControlID.RaisePostBackEvent(_arg);
}

がUserControlIDのIDまた、ユーザー制御に親会社のページでき入れ子では、マークです。

注意:こともできなだけ通話方法に属するユーザーが直接管理(この場合は、だけで、RaisePostBackEventハンドラのページ):

public void RaisePostBackEvent(string _arg)
{
    UserControlID.method1();
    UserControlID.method2();
}

を作成しても良いでしょうwebサービスのための共通の方法。
すぐWebMethodAttributeの機能を使いたく、よろしくお願いします
有するwebサービスのすべて共通のものまたはシステムです。

場合、__doPostBack機能は発生せずそのページで必要なものを挿入するためのコントロールさせようというのがこのように:

<asp:Button ID="btnJavascript" runat="server" UseSubmitBehavior="false" />

に関して:

var button = document.getElementById(/* Button client id */);

button.click();

であるべき姿について:

var button = document.getElementById('<%=formID.ClientID%>');

がformIDのASP.NET 管理IDできます。aspxファイルです。

本ページ負荷の場合はオブジェクトエラーになります。

ClientScript.GetPostBackEventReference(this, "");

利用できる PageMethods.Your C# method Name アクセスするため、C#または方法VB.NET 入が可能です。

してみてください:

if(!ClientScript.IsStartupScriptRegistered("window"))
{
    Page.ClientScript.RegisterStartupScript(this.GetType(), "window", "pop();", true);
}

この

Response.Write("<script>alert('Hello World');</script>");

利用のOnClientClickのボタンで通話JavaScriptの機能...

使用できる必要がありますので"を追及するとともにこの線にJavaScriptコード:

document.getElementById('<%=btnName.ClientID%>').click()

と思いつでも簡単!

みいただけます:

<%= Page.ClientScript.GetPostBackEventReference(ddlVoucherType, String.Empty) %>;

ddlVoucherType御の選択されたインデックスの変更コー---とができるのかどうかは置いておいて機能を選択されたインデックスの変更ます。

最もシンプルで、うそのためには、 onmouseup() JavaScriptのイベントではなく onclick()

この方法を使用すると火災JavaScriptをクリックしたら、ついに干渉するASP OnClick() イベントです。

ようにしていることで走りきることができるAsp.Net 方法を使用jQuery.

  1. いページにリダイレクトにおjQueryコード

    window.location = "Page.aspx?key=1";
    
  2. しクエリ文字列ページのロード

    protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.QueryString["key"] != null)
        {
            string key= Request.QueryString["key"];
            if (key=="1")
            {
                // Some code
            }
        }
    }
    

する必要がなくなるため、余分なコード

するものであるが、作品のような風に感謝のクロスブラウザ:

The__doPostBack()メソッドにより確かなものになるはずだ。

他のソリューション(非常hackishは単純に追加目に見えないASP ーボタンのマークアップをクリックでJavaScriptの方法です。

<div style="display: none;"> 
    <asp:Button runat="server" ... OnClick="ButtonClickHandlerMethod" /> 
</div> 

からJavaScriptを取得する参照ボタンをClientIDを呼び出します。Click()メソッドかれています。

var button = document.getElementByID(/* button client id */); 

button.Click(); 

Blockquote

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top