الخطوة ASP.NET الصفحة أساليب الوكيل من الصفحة

StackOverflow https://stackoverflow.com/questions/1204028

  •  05-07-2019
  •  | 
  •  

سؤال

أنا باستخدام ASP.NET الصفحة أساليب بلدي التطبيق.كل شيء يعمل مثل السحر ولكن أنا لا أريد صفحتي أساليب ولدت مضمنة في الصفحة.

  1. هل هناك طريقة لنقلها إلى WebResource.الملف axd أو شيئا من هذا القبيل.أنا حقا لا أريد أن أكتب بلدي الوكيل فقط لتحريك ولدت واحدة من الصفحة.

  2. لدي صفحة متعددة الأساليب في قاعدة الصفحة.هل هناك طريقة لمعرفة السيناريو مدير الأساليب التي لا تريد إدراج صفحة معينة كما أنا لا تستخدم كل الطرق على كل الصفحات ؟

هل كانت مفيدة؟

المحلول

لدي صفحة متعددة الأساليب في بلدي قاعدة الصفحة.هل هناك طريقة لنقول مدير النصي الأساليب التي أريد وشملت صفحة معينة كما أنا لا تستخدم كل الطرق على كل الصفحات ؟

لست متأكدا ما إذا كان هذا ممكن.ماذا سأفعل بعد ذلك ومع ذلك هو أن تتحرك الأساليب التي هي محددة إلى صفحة معينة في الصفحة الفعلية نفسها بدلا من قاعدة الصفحة.

ما يمكن أن تفعله هو استخدام asmx webservices بدلا من استخدام صفحة طرق الوصول إلى الخادم المنطق من جافا سكريبت.

[System.Web.Script.Services.ScriptService]
public class MyWebService
{

   [WebMethod]
   public string GetData(int id)
   {
      //do some work
      //return result
   }

}

في aspx أو ascx رمز عليك القيام بما يلي

function someFunction(){
   WebServiceNamespace.MyWebService.GetData(123, onSuccessCallback, onErrorCallback);
}

function onSuccessCallback(result){
   //process your result. Usually it is encoded as JSON string
   //Sys.Serialization.JavaScriptSerializer.deserialize(...) can be used for deserializing
}

function onErrorCallback(){
   //display some info
}

سيكون لديك للبحث عن كيفية العودة كائن من خدمة ويب الخاص بك هو المشفرة.عادة يتم ترميز Json.لا أتذكر الآن ما إذا كان هذا يجب أن تكون محددة بوضوح في الويب الخاص بك.config.

//تحرير:
ما نسيت.يمكنك استخدام asp.net ScriptManager تسجيل البرامج النصية وخدمات الويب:

<asp:ScriptManager ID="ScriptManager1" runat="server">
   <Scripts>
      <asp:ScriptReference Path="~/scripts/WebServiceScripts.js" />
   </Scripts>
   <Services>
      <asp:ServiceReference Path="~/Services/MyWebService.asmx" />
   </Services>
</asp:ScriptManager>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top