2009-07-24 15 views
2

私は実際にWebプロジェクトのログインページなどの作成に関するチュートリアルに従っています。それはすべて動作し、今私はレイアウトに取り組んでいます。私はログインページにイメージタグを追加しました。単純にsrcは正しいですが、イメージは間違いありませんが、イメージはページに表示されません。なぜですか?.net、Login.aspx、<img>タグを表示できません。

このタグは、プロジェクトの他のページにコピーして貼り付けても、Login.aspxページには貼り付けないと画像が機能します。

これは私が困惑してしまったので、私は脳のフリーダイ症候群の苦しみに苦しんでいるに違いない!たぶん、私は半日を得ることができ、家に帰ることができるかどうかを確認する必要があります...

ありがとう。

コード:だから

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="sm_development.Login" %> 
<!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>Login Page</title> 
</head> 
<body> 

<form id="form1" runat="server"> 
<div> 
    <img src="images/redflag.png" style="width: 1024px; height: 893px; border: none; 
     padding: 0px;" alt="alt" /> 
    username<br /> 
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
    <br /> 
    password<br /> 
    <asp:TextBox ID="TextBox2" runat="server" TextMode="Password"></asp:TextBox> 
    <br /> 
    <asp:Button ID="Button1" OnClick="Button1_Click" runat="server" Text="Submit" /> 
</div> 
</form> 
</body> 
</html> 

、私は、ドキュメントによると、画像に誰がアクセス権を付与すべき、ファイルの下に私のweb.configファイルに以下を追加して、彼らがログインしたか否かのフォルダ:

<!-- This section gives the unauthenticated user access to all of the files that are stored in the images folder. --> 
    <location path="images"> 
    <system.web> 
     <authorization> 
      <allow users ="*" /> 
     </authorization> 
    </system.web> 
</location> 

私は実際には、将来的にこれを変更し、などなど、ログインなどのページで必要な画像のみがすべてに利用可能であり、残りの部分が保護されるように、それを再編成するつもりです。今日の面白いレッスン!

すべての返信いただきありがとうございます。

+1

郵便いくつかのコード.... –

+0

を何あなたが持っているタグですか? –

+0

そんなことが起こると、私はそれが嫌いです。それは、 "Add Comment"をクリックする前にページをリフレッシュするよう教えてくれるでしょう。 –

答えて

3

画像がロックされている場所にないことを確認します。あなたはそれを他のページでも使えると言いますが、それらのページにアクセスするにはログインする必要がありますか?もしそうなら、あなたがログインしたという事実は、それらのページに画像を表示する能力を与えています。ログイン画面では、ログインしていないので、画像ディレクトリが保護されている可能性があります。したがって、閲覧できません。

あなたのweb.configはおそらくrootからすべてのものを保護しているので、 'images'ディレクトリにアクセスするためにはログインする必要があるかもしれません。

rootでlogin.aspxを使用し、セキュリティで保護されたコードをすべてサブディレクトリに移動しましたか? web.configファイルが正しく設定されていることを確認してください。

+0

ええ、それは理にかなっており、私はこれもウィルがやっていたものだと思います。 web.configファイルの flavour404

+0

修正を見つけました。上記を参照してください。 – flavour404

+0

あなたがしたことで更新するための質問に+1: – Kelsey

1

コードやその他の例は表示されませんが、アクセス許可を確認していないとは100%はっきり言っていませんか?

私はしばらくの間、カスタム拒否ページを作成しようとしていましたが、アセットがロードされていない(イメージ、スタイルシートなど)理由を理解できず、保護されたフォルダにアセットがあって、別のアクセス可能なサイトにいなければなりませんでした。

+0

私はチェックする必要がありますか?画像を含むフォルダはサイト開発フォルダのルートにあり、このページではなく、同じタグを使用して他のページから画像にアクセスできます。 – flavour404

+0

おかげでウィル、私はあなたが今何かを暗示していたことを実現:) – flavour404

+0

ここで新しい、まだすべてを理解していないが、先生の状態の事をありがとう:S 私はしようと、 – Wil

3

すべてのページへの匿名アクセスを拒否しますか?

は、あなたは彼らが実際にログインする前に、画像を表示することができ、匿名ユーザーへのアクセス権を与えるためにあなたのimagesディレクトリに、単純なweb.configファイルをドロップすることができます。

<?xml version="1.0" encoding="utf-8"?> 
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"> 
    <system.web> 
     <authorization> 
      <allow users="?" /> 
     </authorization> 
    </system.web> 
</configuration> 
+0

私はまったく同じ問題を抱えていましたが、これが私の解決策でした。唯一の違いは、と書いたことです。 "?"許可されていないユーザーを許可することを意味しますが、「*」は、すべてのユーザー(権限のないユーザーまたは許可されたユーザー)を許可することを意味します。どちらの方法もうまくいくはずです。 –

関連する問題