@H_404_0@
protected
void Page_Load(object sender,EventArgs e)
@H_404_0@
{
@H_404_0@
if (Request.QueryString["ID"] != null &&
@H_404_0@
Request.QueryString["ID"].Length > 0)
@H_404_0@
{
@H_404_0@
..................
@H_404_0@
}
@H_404_0@
else if (Request.QueryString["Transform"] != null)
@H_404_0@
{
@H_404_0@
int index;
@H_404_0@
string column;
@H_404_0@
ResolveParams(Request.QueryString["Transform"],
out
index,out column);
@H_404_0@
if (index != -1)
@H_404_0@
{
@H_404_0@
Employee data = GetData(index);
@H_404_0@
MemoryStream ms = ResolveTransform(data,column);
@H_404_0@
if (ms != null)
@H_404_0@
{
@H_404_0@
Response.Clear();
@H_404_0@
Response.BufferOutput = true;
@H_404_0@
Response.ContentType = "image/bmp";
@H_404_0@
Response.OutputStream.Write(ms.GetBuffer(),(int)ms.Length);
@H_404_0@
ms.dispose();
@H_404_0@
Response.Flush();
@H_404_0@
Response.End();
@H_404_0@
}
@H_404_0@
else
@H_404_0@
Response.End();
@H_404_0@
}
@H_404_0@
}
@H_404_0@
}
@H_404_0@
@H_404_0@
private void ResolveParams(string transformParams,out int index,out string column)
@H_404_0@
{
@H_404_0@
string[] p = Request.QueryString["Transform"].Split('*');
@H_404_0@
index = -1;
@H_404_0@
column = string.Empty;
@H_404_0@
if (p.Length == 2)
@H_404_0@
{
@H_404_0@
index = int.Parse(p[0]);
@H_404_0@
column = p[1];
@H_404_0@
}
@H_404_0@
}
@H_404_0@
@H_404_0@
private MemoryStream ResolveTransform(object data,string column)
@H_404_0@
{
@H_404_0@
PropertyInfo pi = data.GetType().GetProperty(column);
@H_404_0@
if (pi != null)
@H_404_0@
return GetDBCSJpestream(pi.GetValue(data,null).ToString(),
new
Font("PMingLiU",11,FontStyle.Bold),Color.Black,Color.White,280,24);
@H_404_0@
return null;
@H_404_0@
}
@H_404_0@
@H_404_0@
private MemoryStream GetDBCSJpestream(string str,Font font,Color foreColor,
Color
background,int width,int height)
@H_404_0@
{
@H_404_0@
Bitmap bmp = new Bitmap(width,height);
@H_404_0@
Graphics g = Graphics.FromImage(bmp);
@H_404_0@
Brush bFore = new SolidBrush(foreColor);
@H_404_0@
Brush bBack = new SolidBrush(background);
@H_404_0@
g.Clear(Color.Transparent);
@H_404_0@
g.DrawString(str,font,bFore,2,2);
@H_404_0@
bFore.dispose();
@H_404_0@
bBack.dispose();
@H_404_0@
MemoryStream ms = new MemoryStream();
@H_404_0@
bmp.Save(ms,System.Drawing.Imaging.ImageFormat.Png);
@H_404_0@
bmp.dispose();
@H_404_0@
ms.Position = 0;
@H_404_0@
return ms;
@H_404_0@
}
|
@H_404_0@ < Canvas xmlns = "http://schemas.microsoft.com/client/2007" @H_404_0@ ................... @H_404_0@ < Image Name = "imgLastName"Tag="BindingField:LastName;BindingProperty:Source;Format:Default.aspx?Transform={INDEX}*{BindingField}"Width="300"Height="24"Canvas.Left="500"Canvas.Top="23" /> @H_404_0@ </ Canvas > |
@H_404_0@ ///////////////////////////////////////////////////////////////////////// @H_404_0@ // Silverlight Data Binding Helper 0.1 @H_404_0@ ///////////////////////////////////////////////////////////////////////// @H_404_0@ @H_404_0@ if (!window.SilverlightBinding) @H_404_0@ window.SilverlightBinding = {}; @H_404_0@ @H_404_0@ SilverlightBinding.BindingData = function(ctrl,bindingExpression,context) @H_404_0@ { @H_404_0@ var bindings = bindingExpression.split(';'); @H_404_0@ this.bindingComplete = false; @H_404_0@ this.ctrl = ctrl; @H_404_0@ this.context = context; @H_404_0@ for(var i = 0; i < bindings.length; i++) @H_404_0@ { @H_404_0@ var temp = bindings[i].split(':'); @H_404_0@ if(temp.length != 2) @H_404_0@ { @H_404_0@ this.bindingComplete = false; @H_404_0@ return; @H_404_0@ } @H_404_0@ if(temp[0] == 'BindingField') @H_404_0@ this.bindingField = temp[1]; @H_404_0@ else if(temp[0] == 'BindingProperty') @H_404_0@ this.bindingProperty = temp[1]; @H_404_0@ else if(temp[0] == 'Format') @H_404_0@ this.format = temp[1]; @H_404_0@ } @H_404_0@ this.bindingComplete = true; @H_404_0@ } @H_404_0@ @H_404_0@ SilverlightBinding.BindingData.prototype = @H_404_0@ { @H_404_0@ updateValue : function(dataItem) @H_404_0@ { @H_404_0@ if(this.bindingComplete) @H_404_0@ { @H_404_0@ if(this.format) @H_404_0@ { @H_404_0@ var str = eval("this.format.replace('{0}',dataItem."+this.bindingField+');'); @H_404_0@ if(this.format.indexOf("INDEX") != -1) @H_404_0@ str = str.replace("{INDEX}",this.context.currentDataIndex); @H_404_0@ if(this.format.indexOf("BindingField") != -1) @H_404_0@ str = str.replace("{BindingField}",this.bindingField); @H_404_0@ eval('this.ctrl.'+this.bindingProperty+" = str;"); @H_404_0@ } @H_404_0@ else @H_404_0@ eval('this.ctrl.'+this.bindingProperty+' = dataItem.'+this.bindingField+';'); @H_404_0@ } @H_404_0@ } @H_404_0@ } @H_404_0@ @H_404_0@ SilverlightBinding.BindingContext = function(bindingContainer) @H_404_0@ { @H_404_0@ var parseBindings = bindingContainer.tag.split(';'); @H_404_0@ this.bindingComplete = false; @H_404_0@ this.bindingContainer = bindingContainer; @H_404_0@ this.bindingControls = new Array(); @H_404_0@ this.currentDataIndex = 0; @H_404_0@ this.recordCount = 0; @H_404_0@ for(var i = 0; i < parseBindings.length; i++) @H_404_0@ { @H_404_0@ var parseBinding = parseBindings[i].split(':'); @H_404_0@ if(parseBinding[0] == "BindingContext") @H_404_0@ { @H_404_0@ var bindingMethods = parseBinding[1].split(','); @H_404_0@ if(bindingMethods.length == 2) @H_404_0@ { @H_404_0@ this.bindingMethod = bindingMethods[0]; @H_404_0@ this.bindingCountMethod = bindingMethods[1]; @H_404_0@ this.bindingComplete = true; @H_404_0@ } @H_404_0@ } @H_404_0@ @H_404_0@ } @H_404_0@ if(!this.bindingComplete) alert('ERROR,Binding Failed.'); @H_404_0@ } @H_404_0@ @H_404_0@ @H_404_0@ SilverlightBinding.BindingContext.prototype = @H_404_0@ { @H_404_0@ _childWorker : function(parent,parseParent) @H_404_0@ { @H_404_0@ if(parent.tag && parent.tag != '') @H_404_0@ { @H_404_0@ if(parseParent) @H_404_0@ { @H_404_0@ var bindingData = new SilverlightBinding.BindingData(parent,parent.tag,this); @H_404_0@ if(bindingData.bindingComplete) @H_404_0@ { @H_404_0@ this.bindingControls.length++; @H_404_0@ this.bindingControls[this.bindingControls.length-1] = bindingData; @H_404_0@ } @H_404_0@ else @H_404_0@ delete bindingData; @H_404_0@ } @H_404_0@ try @H_404_0@ { @H_404_0@ var temp = parent.children; @H_404_0@ } @H_404_0@ catch(err) @H_404_0@ { @H_404_0@ return; @H_404_0@ } @H_404_0@ for(var i = 0; i < parent.children.count; i++) @H_404_0@ this._childWorker(parent.children.getItem(i),true); @H_404_0@ } @H_404_0@ }, @H_404_0@ initialize:function() @H_404_0@ { @H_404_0@ this._childWorker(this.bindingContainer,false); @H_404_0@ this._receiveCount(); @H_404_0@ this._receiveData(0); @H_404_0@ }, @H_404_0@ OnSucceeded: function(result,userContext,methodName) @H_404_0@ { @H_404_0@ if (methodName == userContext.bindingMethod) @H_404_0@ { @H_404_0@ for(var i = 0; i < userContext.bindingControls.length; i++) @H_404_0@ userContext.bindingControls[i].updateValue(result); @H_404_0@ } @H_404_0@ else if(methodName == userContext.bindingCountMethod) @H_404_0@ userContext.recordCount = result; @H_404_0@ }, @H_404_0@ OnFailed:function(error,methodName) @H_404_0@ { @H_404_0@ if(error !== null) @H_404_0@ { @H_404_0@ alert(error.get_message()); @H_404_0@ } @H_404_0@ }, @H_404_0@ _receiveData: function(index) @H_404_0@ { @H_404_0@ eval('PageMethods.'+this.bindingMethod+'(index,this.OnSucceeded,this.OnFailed,this);'); @H_404_0@ }, @H_404_0@ _receiveCount: function() @H_404_0@ { @H_404_0@ eval('PageMethods.'+this.bindingCountMethod+'(this.OnSucceeded, @H_404_0@ next:function() @H_404_0@ { @H_404_0@ if(this.currentDataIndex+1 >= this.recordCount) @H_404_0@ return; @H_404_0@ this._receiveData(++this.currentDataIndex); @H_404_0@ }, @H_404_0@ prev:function() @H_404_0@ { @H_404_0@ if(this.currentDataIndex -1 < 0) @H_404_0@ return; @H_404_0@ this._receiveData(--this.currentDataIndex); @H_404_0@ } @H_404_0@ } |
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。