读书人

VB.NET 转成 asp.net 各位拜托了.该如

发布时间: 2012-01-26 19:40:46 作者: rapoo

VB.NET 转成 asp.net 各位拜托了.
Imports Microsoft.VisualBasic

Public Class FormRewriterControlAdapter
Inherits System.Web.UI.Adapters.ControlAdapter

Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)
MyBase.Render(New RewriteFormHtmlTextWriter(writer))
End Sub

End Class

Public Class RewriteFormHtmlTextWriter
Inherits HtmlTextWriter

Sub New(ByVal writer As HtmlTextWriter)
MyBase.New(writer)
Me.InnerWriter = writer.InnerWriter
End Sub

Sub New(ByVal writer As System.IO.TextWriter)
MyBase.New(writer)
MyBase.InnerWriter = writer
End Sub

Public Overrides Sub WriteAttribute(ByVal name As String, ByVal value As String, ByVal fEncode As Boolean)

If (name = "action ") Then

Dim Context As HttpContext
Context = HttpContext.Current

If Context.Items( "ActionAlreadyWritten ") Is Nothing Then

value = Context.Request.RawUrl
Context.Items( "ActionAlreadyWritten ") = True

End If

End If

MyBase.WriteAttribute(name, value, fEncode)

End Sub

End Class

我想把以上的转换为asp.net的CS 但是 自己VB又不好 翻译不过来.
希望各位帮下了.

[解决办法]


Public Class FormRewriterControlAdapter
Inherits System.Web.UI.Adapters.ControlAdapter

Protected Overrides Sub Render(System.Web.UI.HtmlTextWriter writer)
{
MyBase.Render(New RewriteFormHtmlTextWriter(writer));
}


Public Class RewriteFormHtmlTextWriter
Inherits HtmlTextWriter;

HtmlTextWriter writer=new HttpTextWriter();
writer=MyBase.New(writer);
Me.InnerWriter = writer.InnerWriter;


System.IO.TextWriter writer=MyBase.New(writer);


MyBase.InnerWriter = writer;

Public Overrides Sub WriteAttribute(String name, String value, String fEncode)

{ If (name = "action ")
{

HttpContext Context=new HttpContext();
Context = HttpContext.Current;

If (Context.Items( "ActionAlreadyWritten "))
{
value = Context.Request.RawUrl;
Context.Items( "ActionAlreadyWritten ") = True;

}

}

MyBase.WriteAttribute(name, value, fEncode);
}
随便弄了下 不一定行
[解决办法]
public class FormRewriterControlAdapter : System.Web.UI.Adapters.ControlAdapter
{

protected override void Render(System.Web.UI.HtmlTextWriter writer)
{
base.Render(new RewriteFormHtmlTextWriter(writer));
}

}

public class RewriteFormHtmlTextWriter : HtmlTextWriter
{

public RewriteFormHtmlTextWriter(HtmlTextWriter writer) : base(writer)
{
this.InnerWriter = writer.InnerWriter;
}

public RewriteFormHtmlTextWriter(System.IO.TextWriter writer) : base(writer)
{
base.InnerWriter = writer;
}

public override void WriteAttribute(string name, string value, bool fEncode)
{
if (name == "action ")
{

HttpContext Context = null;
Context = HttpContext.Current;

if (Context.Items[ "ActionAlreadyWritten "] == null)
{
value = Context.Request.RawUrl;
Context.Items[ "ActionAlreadyWritten "] = true;

}

}

base.WriteAttribute(name, value, fEncode);

}

读书人网 >asp.net

热点推荐