2013-05-07 3 views
0

У меня есть веб-приложение, которое публикуется и работает на сервере. У меня есть aspx файлов, но у меня нет .vb файлов. Мне нужно отредактировать одну страницу в приложении. Как я могу добраться до файлов .vb? или лучше сказать, как я могу отредактировать часть, которую я хочу в приложении?Отсутствует Исходный код опубликованного приложения ASP.NET

Edit: Вот мой ASPX файл:

<%@ page language="VB" autoeventwireup="false" inherits="UrunRapor, App_Web_hfev-r-q" %> 
<%@ Register assembly="DevExpress.Web.ASPxGridView.v8.3, Version=8.3.6.0, Culture=neutral, PublicKeyToken=5377c8e3b72b4073" namespace="DevExpress.Web.ASPxGridView" tagprefix="dxwgv" %><%@ Register assembly="DevExpress.Web.ASPxGridView.v8.3, Version=8.3.6.0, Culture=neutral, PublicKeyToken=5377c8e3b72b4073" namespace="DevExpress.Web.ASPxGridView" tagprefix="dxwgv" %> 
<%@ Register assembly="DevExpress.Web.ASPxEditors.v8.3, Version=8.3.6.0, Culture=neutral, PublicKeyToken=5377c8e3b72b4073" namespace="DevExpress.Web.ASPxEditors" tagprefix="dxe" %> 
<%@ Register assembly="DevExpress.Web.ASPxGridView.v8.3.Export, Version=8.3.6.0, Culture=neutral, PublicKeyToken=5377c8e3b72b4073" namespace="DevExpress.Web.ASPxGridView.Export" tagprefix="dxwgv" %> 


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml" > 
<head runat="server"> 
    <title>Ürün Detaylı Rapor</title> 
    <script language="javascript"> 
      window.moveTo(0, 0); 
      window.resizeTo(screen.availWidth, screen.availHeight); 
     </script>  
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <table style="font-size: 9pt; width: 474px; font-family: Calibri"> 
      <tr> 
       <td style="width: 100px; height: 22px"> 
        Ay</td> 
       <td style="width: 100px; height: 22px"> 
        <asp:DropDownList ID="cboMonth" runat="server" BackColor="#FFFFC0" Font-Bold="True" 
         Font-Names="Calibri" Font-Size="9pt"> 
         <asp:ListItem Selected="True" Value="%%">[..]</asp:ListItem> 
         <asp:ListItem Value="1">January</asp:ListItem> 
         <asp:ListItem Value="2">February</asp:ListItem> 
         <asp:ListItem Value="3">March</asp:ListItem> 
         <asp:ListItem Value="4">April</asp:ListItem> 
         <asp:ListItem Value="05">May</asp:ListItem> 
         <asp:ListItem Value="06">June</asp:ListItem> 
         <asp:ListItem Value="07">July</asp:ListItem> 
         <asp:ListItem Value="08">August</asp:ListItem> 
         <asp:ListItem Value="09">September</asp:ListItem> 
         <asp:ListItem Value="10">October</asp:ListItem> 
         <asp:ListItem Value="11">November</asp:ListItem> 
         <asp:ListItem Value="12">December</asp:ListItem> 
        </asp:DropDownList></td> 
       <td style="width: 100px; height: 22px"> 
        Yıl 
       </td> 
       <td style="width: 100px; height: 22px"> 
        <asp:DropDownList ID="cboYear" runat="server" BackColor="#FFFFC0" Font-Bold="True" 
         Font-Names="Calibri" Font-Size="9pt"> 
         <asp:ListItem Selected="True" Value="%%">[..]</asp:ListItem> 
         <asp:ListItem Value="2007">2007</asp:ListItem> 
         <asp:ListItem Value="2008">2008</asp:ListItem> 
         <asp:ListItem Value="2009">2009</asp:ListItem> 
         <asp:ListItem Value="2010">2010</asp:ListItem> 
         <asp:ListItem>2011</asp:ListItem> 
         <asp:ListItem>2012</asp:ListItem> 
         <asp:ListItem>2013</asp:ListItem> 
         <asp:ListItem>2014</asp:ListItem> 
         <asp:ListItem>2015</asp:ListItem> 
        </asp:DropDownList></td> 
       <td style="width: 100px; height: 22px"> 
        <asp:Button ID="Button1" runat="server" Font-Bold="True" Font-Names="Calibri" Font-Size="9pt" 
         Text="Sorgula" /></td> 
       <td style="width: 100px; height: 22px"> 
        <asp:Button ID="Button2" runat="server" Font-Bold="True" Font-Names="Calibri" Font-Size="9pt" 
         Text="Excel'e aktar" /></td> 
       <td style="width: 100px; height: 22px"> 
        <asp:Button ID="Button3" runat="server" Font-Bold="True" Font-Names="Calibri" Font-Size="9pt" 
         Text="PDF dosyasına aktar" Width="123px" /></td> 
      </tr> 
     </table> 

    </div> 
     <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:CRRConnectionString %>"> 
      <SelectParameters> 
       <asp:ControlParameter ControlID="cboMonth" Name="Month" PropertyName="SelectedValue" /> 
       <asp:ControlParameter ControlID="cboYear" Name="Year" PropertyName="SelectedValue" /> 
      </SelectParameters> 
     </asp:SqlDataSource> 
     <dxwgv:aspxgridview id="dgCRR" runat="server" datasourceid="SqlDataSource1"> 
<Settings ShowFilterRow="True" ShowFilterRowMenu="True" ShowFilterBar="Visible" 
       ShowGroupedColumns="True" ShowGroupPanel="True"></Settings> 

<SettingsPager Visible="False" PageSize="1000" Position="TopAndBottom"></SettingsPager> 
</dxwgv:aspxgridview> 
     <dxwgv:ASPxGridViewExporter ID="ToExcel" runat="server"> 
     </dxwgv:ASPxGridViewExporter> 
    </form> 
</body> 
</html> 

Ее мой .vb файл, который я хочу использовать

Imports System.Globalization 
Partial Class UrunRapor 
    Inherits CRR.RequestBase 
    Dim SelCmd As String 
    Dim MyUser As String 
    Dim dtreg As Data.DataTable 

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
     MyUser = Request.ServerVariables.Get("LOGON_USER") 
     If Not Page.IsPostBack Then 
      Dim dareg As Data.SqlClient.SqlDataAdapter = New Data.SqlClient.SqlDataAdapter 
      dareg.SelectCommand = select_User(Request.ServerVariables.Get("LOGON_USER")) 
      dareg.SelectCommand.Connection = cnn 
      dtreg = New Data.DataTable 
      dareg.Fill(dtreg) 
      If dtreg.Rows.Count = 0 Then 
       Response.Redirect("NotAuthRep.aspx") 
      End If 
      'Exit Sub 
      'dgCRR.DataBind() 
     End If 
    End Sub 

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click 
     FillGrid() 
    End Sub 


    Protected Sub Button3_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button3.Click 
     FillGrid() 
     ToExcel.FileName = "CRR-Product.pdf" 
     ToExcel.WritePdfToResponse("CRR-Product.pdf") 
    End Sub 

    Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click 
     'ToExcel.FileName = "CRRNew" 
     'ToExcel.DataBind() 
     FillGrid() 
     ToExcel.GridViewID = "dgCRR" 
     ToExcel.WriteXlsToResponse() 
    End Sub 
    Protected Sub FillGrid() 
     SelCmd = "SELECT tblCRRProductDetails.CRRId, tblCRRProductDetails.ProductCode, tblCRRProductDetails.ProductName, tblCRRProductDetails.Batch, tblCRRProductDetails.ExpireDate, tblCRRProductDetails.Qty, tblCRRProductDetails.SalesUnit, tblCRR.CrrCaptureDate, tblCRR.RegistrarName, tblCRR.CustomerCode, tblCRR.CustomerName, tblCRR.Channel, tblCRR.ClaimerName, tblCRR.ClaimerAddress, tblCRR.ClaimerPhone, tblCRR.ClaimerMail, tblCRR.CaseDetails, tblCRR.RsDeptName, tblCRR.ReasonName, tblCRR.RsPerName, tblCRR.ExpecRsDay, tblCRR.ExpecRsDate, tblCRR.RsDescription, tblCRR.ResolutionDate, tblCRR.ClaimResult, tblCRR.ActionPlan, tblCRR.ClosedPerName, tblCRR.ClosingDate,tblCRR.Status FROM tblCRRProductDetails INNER JOIN tblCRR ON tblCRRProductDetails.CRRId = tblCRR.CrrID WHERE (MONTH(CrrReceiveDate) LIKE '" & cboMonth.SelectedItem.Value & "') AND (YEAR(CrrReceiveDate) LIKE '" & cboYear.SelectedItem.Value & "')" 
     SqlDataSource1.ConnectionString = "My Connection String" 
     SqlDataSource1.SelectCommand = SelCmd 
     dgCRR.DataBind() 
    End Sub 
End Class 

ответ

2

При публикации сайта, скомпилированная версия опубликованные на сервере, а не файлы кода. Вам понадобится дизассемблер/декомпилятор для декомпиляции DLL-файлов. Некоторые из них являются

  1. .Net Reflecter
  2. ILSpy(бесплатно)
  3. Dot Peek(бесплатно)
0

Вы можете попробовать разборке его с помощью ilasm и редактирования IL непосредственно, но я подумайте реалистично, что вы будете пытаться внести какие-либо изменения без источника. Файлы .cs являются исходными файлами. На опубликованном сайте будут доступны только скомпилированные файлы IL. Вам нужно будет выяснить, кто их опубликовал и поговорить с ними о получении источника.

2

Что вы можете сделать, это изменить ASPX, так, например, вместо этого:

<%@ Page Language="C#" CodeBehind="MyPage.aspx.cs" Inherits="MyNamespace.MyPage" %> 

Вы можете изменить это так:

<%@ Page Language="C#" Inherits="MyOtherNamespace.MyNewPage" %> 

Написать новое поведение в новом MyOtherNamespace. MyNewPage (который должен получить хотя бы из System.Web.UI.Page), который можно поместить в любую сборку .DLL, которую вы развертываете в каталоге bin.

Вы также можете получить этот новый класс с исходной страницы (просто ссылку на оригинальную сборку) вместо того, чтобы просто извлекать из System.Web.UI.Page, если вы выбираете вариант, в зависимости от изменений, которые вам необходимы делать.

В противном случае вам придется восстановить исходный код с помощью инструмента, такого как .NET Reflector или ILSpy, для создания этого нового класса, но по крайней мере вам не нужно прикасаться к существующей скомпилированной сборке.

+0

Я считаю, что это приведет к хорошему решению, но у меня возникают трудности с его внедрением. Я отредактировал свой вопрос и добавлю свой файл aspx. Я также добавил код, который я хочу использовать для этой страницы aspx. Можете ли вы провести меня через это? – HOY

+0

Какие трудности? PS: не забывайте пространство имен в объявлении страницы «Наследует». –

+0

Мой aspx-файл выглядит так: inherits = "UrunRapor, App_Web_hfev-rq", должен ли я изменить его на inherits = "NewVersionUrunRapor, App_Web_hfev-rq", тогда должен ли я изменить свой код vb, подобный этому (Partial Class UrunRapor, to Partial Class NewVersionUrunRapor), также эту часть я тоже не получил (вы можете вставить любой.DLL-сборку, которую вы развертываете в каталоге bin), я не уверен, как это сделать. – HOY

Смежные вопросы