みんな!
おそらく何度も質問されたことはわかっていますが、とにかく..
問題は:
2 つのプロジェクト (C# クラス ライブラリと Web プロジェクト) を使用したソリューションがあります。クラス ライブラリ プロジェクトでは、テキスト ボックス コントロールをオーバーライドしたため、検証が組み込まれています。ローカル サーバーではすべて問題なく動作しますが、公開されたプロジェクトをアップロードすると問題が発生します。
コードは次のとおりです。
[Browsable(true)]
[Category("Appearance")]
[DefaultValue("~/images/alert.png")]
public string AlertImageUrl
{
get
{
string path = HttpContext.Current.Server.MapPath("~/images/alert.png");
return GetPropertyValue<string>("AlertImageUrl", path);
}
set
{
SetPropertyValue("AlertImageUrl", value);
}
}
protected override void Render(HtmlTextWriter writer)
{
this.Attributes["onfocus"] = "var objs = this.parentNode.childNodes; for (var i = 0; i < objs.length; i++) {if (objs[i].id == 'imgAlert') { objs[i].style.display = 'none'; } }";
writer.WriteFullBeginTag("span");
base.Render(writer);
if (!_validator.IsValid)
{
writer.WriteBeginTag("img");
writer.WriteAttribute("id", "imgAlert");
writer.WriteAttribute("runat", "server");
writer.WriteAttribute("style", "left: -20px; top: 3px;");
writer.WriteAttribute("src", AlertImageUrl);
writer.WriteEndTag("img");
}
writer.WriteEndTag("span");
}
画像は App_Themes/Theme_name/images/alert.png にあります AlertImageUrl を正しく取得するには? 奇妙なことに、手動で設定すると正しいパスが返されますが、WriteAttribute - いいえ..
どんな助けでも大歓迎です、よろしく、マリス