Silverligh访问数据库方法技巧指导
Silverligh的应用范围比较广泛。在开发人员实际使用中,可以轻松的实现各种基于多媒体方面功能。基于安全原因的考虑,Silverlight是不允许直接访问数据库的。但还是有很多方法来间接实现Silverlight对数据库的访问。
比如以下的三种方式:1 RESTful API;2 在Silverlight下借助JavaScript来实现访问数据库;3 利用.NET Web服务模板——Silverlight-enabled。本文将主要介绍一下后俩种方法。
利用JavaScript实现Silverlight与数据库的交互
只要在Silverlight事件处理的后面添加调用以下简单的JavaScript代码即可。其中”callWebService”是JavaScript的函数。
- protected void btnSubmit
(object sender,EventArgs e) - {
- System.Windows.Browser.HtmlPage.
Window.Invoke("callWebService", null); - }
关于JavaScript的调用可以参照一下内容:
通过ScriptServiceAttribute添加
[ScriptService]
public class UserValidationService:
System.Web.Services.WebService
{
[WebMethod]
public bool ValidateUserName
(string strInput)
{
return !GetUserByUserName(strInput);
//If user exists return false
indicates the name is no longer availabe.
}
private bool GetUserByUserName
(string strUserName)
{
bool blnIsUserExists = false;
//Call database API to see if the
username is availabe, set blnIsUser
Exists to true if exists.
return blnIsUserExists;
}
} 通过页面添加ScriptMananger控件
< asp:ScriptManager runat="server" ID="scriptManagerId"> < Services> < asp:ServiceReference Path= "UserValidationService.asmx" /> < /Services> < /asp:ScriptManager>
像调用JavaScript局部函数一样调用Webservice
< script type="text/javascript">
function validateUserName()
{
var userName = document.getElementById
("txtUserName").value;
UserValidationService.ValidateUserName
(userName,showValidateResult,validate
UserNameError);
}
function validateUserNameError(result)
{
//Do nothing if any error, ideally,
we should log this error to database.
}
function showValidateResult(result)
{
//Since it is only a boolean value,
no need to get result.d, if result
contains .net object,
// use result.length and result.d
to retrieve the object.
if(!result)
{
//Not available
}else
{
//Username is still available
}
}
< /script> 利用Silverlight-enabled Webservice实现Silverlight与数据库的交互
相关推荐
spoft 2015-07-02
Gexrior 2011-10-13
chenyangah 2016-04-15
zjnig的信息仓库 2018-08-20
步行者 2009-12-17
frank0 2009-12-17
flyingdream 2011-01-24
前端JavaScript 2010-05-05
Francismingren 2012-12-10
liyingmingtian 2011-04-19
苹果大牛 2010-07-29
稻草堆 2010-05-12
huang00 2010-03-05
旷野亮光 2010-02-24
wangliang 2009-12-31
wumingdezu 2009-12-23
JeremyZJM 2009-12-21
HTML混合APP开发 2014-04-19