Есть только идея как выполнить страницу, в боевых условиях не эксплуатировалась,
тестовый пример работает.
создал страницу
protected void btn_Click(object sender, EventArgs e)
{
lbl.Text = "It works!";
}
<asp:Label runat="server" ID="lbl"></asp:Label>
<asp:Button runat="server" ID="btn" Text="Test" onclick="btn_Click"/>
Перенес страницу в dll проект
ASPX файл установил как внедренный ресурс.
В pageload страницы веб проекта написал
var stream = new StreamReader(typeof(WebForm1).Assembly.GetManifestResourceStream("ClassLibrary1.WebForm1.aspx"));
var file= stream.ReadToEnd();
var fileName = Server.MapPath( HttpContext.Current.Request.ApplicationPath) + "tmp.aspx";
using(StreamWriter sw=new StreamWriter(fileName,false))
{
sw.Write(file);
}
var writer = new StringWriter ();
Server.Execute("tmp.aspx", writer,true);
Response.Write(writer.ToString());
Response.End();
Вместо pageload страницы логично использовать хендлер.
Пробуйте