Mam dwie funkcje i pojawia się ciekawy problem. Zasadniczo zamierzam uczynić mój kod bardziej przenośnym w łatwym do dołączenia pliku cs.Odniesienie do obiektu jest wymagane w przypadku niestatycznego pola, metody lub właściwości "System.Web.UI.Page.Server.get"
Tutaj Mówi plik CS:
namespace basicFunctions {
public partial class phpPort : System.Web.UI.Page {
public static string includer(string filename) {
string path = Server.MapPath("./" + filename);
string content = System.IO.File.ReadAllText(path);
return content;
}
public void returnError() {
Response.Write("<h2>An error has occurred!</h2>");
Response.Write("<p>You have followed an incorrect link. Please double check and try again.</p>");
Response.Write(includer("footer.html"));
Response.End();
}
}
}
Oto strona, która jest odwołanie go:
<% @Page Language="C#" Debug="true" Inherits="basicFunctions.phpPort" CodeFile="basicfunctions.cs" %>
<% @Import Namespace="System.Web.Configuration" %>
<script language="C#" runat="server">
void Page_Load(object sender,EventArgs e) {
Response.Write(includer("header.html"));
//irrelevant code
if ('stuff happens') {
returnError();
}
Response.Write(includer("footer.html"));
}
</script>
Błąd Dostaję jedną wymienione powyżej, a mianowicie:
Komunikat o błędzie kompilatora: CS0120: Odwołanie do obiektu jest wymagane w przypadku niestatycznego pola, metody lub właściwości "System.Web.UI.Page.Server.get"
Na następnej linii:
Linia 5: string path = Server.MapPath ("./" + filename);
Gorąco zaleciłbym nie powtarzanie błędów php. Zamiast tego sprawdź, jak działają strony wzorcowe lub po prostu przejdź do MVC. – NotMe
Nie wszyscy widzimy styl kodowania PHP jako błędy. Dla tych z nas, którzy mają bardziej tradycyjne tło kodowania, które zapewnia nam bardziej niskopoziomowe sterowanie i elastyczność kodowania kosztem szybkości produkcji (ale nie czasu wykonywania) lub silnego skupienia na obiekcie, to naprawdę czuje się trochę lepiej w domu. Poza tym lepsza dokumentacja = P. Ponadto, im głębiej wchodzisz w dziurę królika ASP.NET, tym gorszy jest twój HTML i JavaScript, który kończy się (gdy zaczyna być mocno generowany). XHTML, JSLint itd. Jest dla mnie ważna, więc wolę zachować jak najwięcej kodu na sobie. –
Nie ma nic złego w oficjalnym, usankcjonowanym przez Microsoft sposobie, jak przypuszczam. Jednakże, mówiąc, jest to z natury lepsze, ponieważ to, co ludzie mówią, że robisz, jest trochę nieszczere, ponieważ często tworzy kod z większym zapasem pamięci, więcej miejsc dla często popełnianych luk w zabezpieczeniach i wieloma, wieloma liniami kodu. Oczywiście z drugiej strony jest to również lepsze pod wieloma względami dla dużych zakładów produkcyjnych, w których pracuje wielu indywidualnych programistów. Różne style kodowania, to wszystko. Jednak obawiam się, że zawsze będę w obozie PHP. –