導航:首頁 > 編程語言 > 伺服器控制項嵌入js

伺服器控制項嵌入js

發布時間:2023-08-31 04:50:08

❶ 如何把js,css文件內嵌到自定義控制項

在工程里選擇js文件,選擇屬性,build Action 選擇 embeded Resource(內嵌資源),這樣就可以把js文件編譯到dll里了
在使用的時候,在引用的位置加如下
[assembly: WebResource("RPEMS.WebControls.Calendar.js", "application/x-javascript")]
REEMS.WebControls 是程序的命名控制項,Calendar.js是js文件名

然後再CreateChildControls函數里加上
Page.ClientScript.RegisterClientScriptResource(this.GetType(), "RPEMS.WebControls.Calendar.js");
這樣就可以把這個js文件和aspx頁面一樣使用了。

同樣的如果想把css文件放到dll也可以這樣
Page.ClientScript.RegisterClientScriptBlock(GetType(), this.ClientID + "Padding", ","<link href=\"" + cssFileName + "\" rel=\"stylesheet\" type=\"text/css\">");
如果只需要簡單的css也可以寫成如下,在控制項的如 TextBox txt = new TextBox();txt.cssClass="PaddingLeft";
Page.ClientScript.RegisterClientScriptBlock(GetType(), this.ClientID + "Padding", "<style type='text/css'>.paddingLeft{padding-left: 10px;}</style>");

❷ 關於伺服器控制項如何調用js方法

1、伺服器控制項必包含clientidmode="Static"
如<input type="button" runat="server" id="id1" clientidmode="Static" />
2、調用JS方法
$("#id").onclick({function(){.....}});

❸ 怎樣用JS為伺服器控制項賦值

//1、JS腳本為伺服器控制項賦值
語法:document.getElementById('<%=伺服器控制項名.ClientID%>')
document.getElementById('<%=TextBox2.ClientID%>『).value= 「aaaaa」 ;
<anthem:TextBox ID= "TextBox2" runat= "server" Text= "bbbbb" >< /anthem:TextBox> //這個是anthem的控制項,跟asp.Net ajax框架的控制項一樣.
//2、JS腳本為伺服器中用戶控制項中的控制項賦值
語法:document.getElementById("<%=伺服器控制項名.ClientID%>"+"_用戶控制項中控制項名")
document.getElementById( "<%=UserInfoControl1.ClientID%>"+"_txtBAname").value= 「aaaaa」 ;
頁面使用的用戶控制項: <uc1:UserInfoControl ID= "UserInfoControl1" runat= "server" />
用戶控制項代碼
<anthem:TextBox ID="txtBAname" runat="server" Width="64px" CssClass="lankuang" ></anthem:TextBox>

如果js為伺服器控制項Lable賦值的話,語法為:
document.getElementById("<%=CaseControl1.ClientID%>"+ "_lblZhusu").innerHTML= "aaaaaaa" ;
但是由於label映射到客戶端是Div標簽,所以後台取的還是原來的值

❹ JS 調用.NET中 服務端控制項<asp:DropDownList>的OnSelectedIndexChanged方法

DropDownList加上來自OnSelectedIndexChanged方法,並加上AutoPostBack="true"後,會生成相應的js腳本,如:
<asp:DropDownList ID="dropdownlist1" runat="server" AutoPostBack="true"
onselectedindexchanged="dropdownlist1_SelectedIndexChanged">
得到的html代碼是:
<select name="dropdownlist1" onchange="javascript:setTimeout('__doPostBack(\'dropdownlist1\',\'\')', 0)" id="dropdownlist1">

那麼在你的其它代碼里,只要調用相應的js代碼就可以了,比如
<script type='text/javascript'>
function myevent(){
setTimeout('__doPostBack(\'dropdownlist1\',\'\')', 0);
}
</script>

❺ 如何封裝JS和CSS文件為伺服器端控制項

首先:下載一個JS的日期組件,帶封裝。
然後:建一個日期類文件CalendarBox.cs代碼如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
using System.Web;
using System.Drawing;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

[assembly: WebResource("Wisesoft.Web.Control.Wisesoft.Calendar.calendar.js", "application/x-javascript", PerformSubstitution=true)]

namespace Wisesoft.Web.Control
{
[ToolboxBitmap(typeof(CalenderBox), "Wisesoft.Calendar.CalendarBox.ico")]
public class CalenderBox : TextBox
{
protected override void OnPreRender(EventArgs e)
{
string calendar = CalenderCSS.CSS;
calendar = calendar.Replace("$ImaginURL$", this.ImaginURL);
if (!Page.ClientScript.IsClientScriptBlockRegistered("_calendar"))
Page.ClientScript.RegisterClientScriptBlock(typeof(string), "_calendar", calendar);

this.Page.PreRenderComplete += new EventHandler(Page_PreRenderComplete);
this.CssClass = "Wdate";
this.Attributes.Add("onfocus","setday(this)");
this.Attributes.Add("onchange", "checkDate(this.value)");
base.OnPreRender(e);
}

void Page_PreRenderComplete(object sender, EventArgs e)
{
Page.ClientScript.RegisterClientScriptResource(this.GetType(), "Wisesoft.Web.Control.Wisesoft.Calendar.calendar.js");
}

/**//// <summary>
/// 彈出日期控制項小圖片的地址
/// </summary>
[Bindable(true)]
[Category("圖標設置")]
[DefaultValue("imagin/calender.gif")]
[Localizable(true)]
public string ImaginURL
{
get
{
String s = (String)ViewState["ImaginURL"];
return ((s == null) ? "imagin/calender.gif" : s);
}
set
{
ViewState["ImaginURL"] = value;
}
}

/**//// <summary>
/// 設置日期,時間的初始格式。
/// </summary>
[Bindable(true)]
[Category("初始化設置")]
[DefaultValue(false)]
[Localizable(true)]
public bool ShowTime
{
get
{
bool s = (bool)ViewState["ShowTime"];
if (ViewState["ShowTime"] != null)
{
return s;
}
return false;
}
set
{
ViewState["ShowTime"] = value;
}
}

/**//// <summary>
/// 注樣式文件
/// </summary>
/// <param name="path"></param>
private void RegisterCssFile(string path)
{
HtmlLink link1 = new HtmlLink();
link1.Attributes["type"] = "text/css";
link1.Attributes["rel"] = "stylesheet";
link1.Attributes["href"] = path;
this.Page.Header.Controls.Add(link1);
}
}
}
注意:[assembly: WebResource("Wisesoft.Web.Control.Wisesoft.Calendar.calendar.js", "application/x-javascript", PerformSubstitution=true)]是用來封裝你的JS文件,要使用你項目的名字加上你JS文件的名字,還需要將你的JS文件做一點設置,點右件,選擇屬性--->然後選擇高級,選擇生成操作-->選擇嵌入的資源,這樣才能將JS文件封裝進去,當然如果有圖片或者是CSS文件也是一樣的。
再看
void Page_PreRenderComplete(object sender, EventArgs e)
{
Page.ClientScript.RegisterClientScriptResource(this.GetType(), "Wisesoft.Web.Control.Wisesoft.Calendar.calendar.js");
}

是在頁面呈現之前將你的JS文件注冊到頁面上。
[Bindable(true)]
[Category("圖標設置")]
[DefaultValue("imagin/calender.gif")]
[Localizable(true)]
是利用反射的元數據信息,來設置屬性。就是給你的日期控制項旁邊加上個小圖標,把它做成一個屬性,可以讓程序員自定義設置圖片,也可以把它繼承進去。
好了,這樣就可以把JS文件封裝好了,再來看看CSS文件如何封裝並寫入客戶端。
我們可以看見下面有一個方法,
/**//// <summary>
/// 注樣式文件
/// </summary>
/// <param name="path"></param>
private void RegisterCssFile(string path)
{
HtmlLink link1 = new HtmlLink();
link1.Attributes["type"] = "text/css";
link1.Attributes["rel"] = "stylesheet";
link1.Attributes["href"] = path;
this.Page.Header.Controls.Add(link1);
}

它就是用來注冊你的CSS文件的,大家都知道在我們的頁面代碼裡面是<link href="StyleSheet.css" rel="stylesheet" type="text/css" />引入外部樣式文件。這個方法就是達到這個目的。那麼我們現在還沒有樣式文件。
因此我們就必須建立一個CSS,然後把它設置一下(和JS的設置方式一樣)。再到void Page_PreRenderComplete(object sender, EventArgs e)方法調用就可以了,但是還有其他方法,我們來介紹第二種(對JS文件也可以這樣使用),建立一個CalendarCSS.cs文件,代碼如下:
using System;
using System.Collections.Generic;
using System.Text;

namespace Wisesoft.Web.Control
{
public class CalenderCSS
{
public static string CSS = @"<style type=""text/css"">
.Wdate{
border:#999 1px solid;
height:18px;
background:url($ImaginURL$) no-repeat right;
}
.WdateFmtErr{
font-weight:bold;
color:red;
}
</style>";
}
}

這個類其實是將我們的CSS文件,寫為一個字元串形式,然後供主函數調用,以注冊到客戶端使用。
那麼我們再看看CalendarBox.cs文件里的這段代碼
string calendar = CalenderCSS.CSS;
calendar = calendar.Replace("$ImaginURL$", this.ImaginURL);
if (!Page.ClientScript.IsClientScriptBlockRegistered("_calendar"))
Page.ClientScript.RegisterClientScriptBlock(typeof(string), "_calendar", calendar);

它就是將我們已經寫好的一段字元串以快的形式注冊到客戶端(當然還有更多的注冊方式,可以在MSDN看看ClientScript類)。
好了,基本上就可以使用了。

❻ 伺服器控制項 調用 JS代碼 的問題

學程序要敢於嘗試,通常我們都會用JS來驗證客戶端控制項,但總有人不去嘗試JS去驗證伺服器控制項,也說明你沒有真正學好JS,C#轉譯,HTML的DOM模型,這些東西。假設你頁面中現在有一個listbox名字叫listTypeInfo,就算它是一個伺服器控制項,通過執行後的HTML源代碼,可以看到它的ID為listTypeInfo,現在用JS驗證如果它沒有被選中就點擊刪除按鈕,先提示要選中,選中之後提示「是否確認」
讓你的面面中的button的onclientclick事件中調用這段JS:

<script language="javascript" type="text/javascript">
function IsOK()
{
var a=0;
var listType=document.getElementById("listTypeInfo");

for( i = 0; i <listType.options.length; i++)
{
if(listType.options[i].selected)
{
a=1;

}
}
if(a==0)
{
alert("請選擇要刪除的選項");
return false;
}
if(a==1)
{
return confirm ("確認嗎?");
}

}

</script>

這樣就能按順序執行你想要的效果了,當前後JS通過,就會執行你按鈕的click事件中的後台的刪 除代碼。

閱讀全文

與伺服器控制項嵌入js相關的資料

熱點內容
win10改變文件格式 瀏覽:475
linux中的物理地址和虛擬地址 瀏覽:493
有哪些app可以接游戲訂單 瀏覽:472
蘋果硬碟數據恢復要多少錢 瀏覽:394
js綁定下拉框資料庫數據 瀏覽:448
cad文件怎麼復制到另一個文件里邊 瀏覽:858
dxp鑽孔文件 瀏覽:631
iphone大悅城換機 瀏覽:538
找結婚對象上什麼網站 瀏覽:974
學生信息管理系統程序設計報告 瀏覽:640
微信文件怎麼刪除怎麼恢復 瀏覽:407
編程程序怎麼復制 瀏覽:467
文件更改 瀏覽:327
冰點文件路徑 瀏覽:730
軟體一點開文件就關閉 瀏覽:88
網路如何把人捧紅 瀏覽:961
軟體傳輸文件 瀏覽:184
密碼記錄器ios 瀏覽:412
兩個電腦數據怎麼一樣 瀏覽:829
順豐有什麼買東西的app 瀏覽:377

友情鏈接